标签: binding

在WPF样式中绑定会导致莫名其妙的"无法找到管理FrameworkElement"错误

我有一个ItemsControl显示一堆矩形.每个矩形需要向上和向左偏移.所以,我创建了一个RectangleStyle使用绑定来设置矩形的宽度,高度,X平移和Y平移.

宽度和高度绑定工作正常,但我得到TranslateTransform绑定的以下错误:

System.Windows.Data错误:2:找不到目标元素的管理FrameworkElement或FrameworkContentElement.BindingExpression:路径= Offset.X; 的DataItem = NULL; target元素是'TranslateTransform'(HashCode = 16452547); target属性为'X'(类型'Double')

这是我的定义ItemControl:

<ItemsControl
    Style="{StaticResource ItemsControlStyle}"
    ItemsSource="{Binding Zones}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Rectangle Style="{StaticResource RectangleStyle}" />
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)

这是以下定义ItemsControlStyle:

<Style x:Key="ItemsControlStyle" TargetType="ItemsControl">
    <Setter Property="ItemsPanel">
        <Setter.Value>
            <ItemsPanelTemplate>
                <Canvas />
            </ItemsPanelTemplate>
        </Setter.Value>
    </Setter>
    <Setter Property="ItemContainerStyle">
        <Setter.Value>
            <Style>
                <Setter Property="Canvas.Left" Value="{Binding Point.X}" />
                <Setter Property="Canvas.Top" Value="{Binding Point.Y}" />
            </Style>
        </Setter.Value>
    </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

以下是定义RectangleStyle:

<Style x:Key="RectangleStyle" TargetType="Rectangle">
    <Setter Property="Width" Value="{Binding Size.Width}" />
    <Setter Property="Height" …
Run Code Online (Sandbox Code Playgroud)

data-binding wpf xaml binding

22
推荐指数
2
解决办法
2万
查看次数

WPF:String的StringFormat问题

这些版本按预期工作:

<DataGridTextColumn Header="Total Units" Binding="{Binding TotalUnits, Mode=OneWay, StringFormat=N0}"/>

<TextBlock Text="{Binding TotalUnits, Mode=OneWay, StringFormat=N0}"/>
Run Code Online (Sandbox Code Playgroud)

当我用标签尝试它时,StringFormat是iqnored,我得到"123.000000"而不是"123".

<Label Content="{Binding TotalUnits, Mode=OneWay, StringFormat=N0}"/>
Run Code Online (Sandbox Code Playgroud)

TotalUnits是十进制.

发生什么了?

wpf binding

22
推荐指数
1
解决办法
8369
查看次数

从View到ViewModel的WPF事件绑定?

什么是将View中的WPF事件绑定到ViewModel的最佳方法?

我在View中有一个drop事件,但我想将它替换为ViewModel到期绑定.找到了几个解决方案,但没有一个能达到我的预期.

查看代码:

    <TextBox 
    AllowDrop="True" 
    PreviewDrop="email_Drop" />
Run Code Online (Sandbox Code Playgroud)

c# wpf binding

22
推荐指数
2
解决办法
5万
查看次数

将radiobuttons绑定到WPF中的属性

让我们想象我有:

<RadioButton GroupName="Group1" IsChecked="{Binding Path=RadioButton1IsChecked}" />
<RadioButton GroupName="Group1" IsChecked="{Binding Path=RadioButton2IsChecked}" />
Run Code Online (Sandbox Code Playgroud)

然后在我的数据源类中,我有:

public bool RadioButton1IsChecked { get; set; }
public bool RadioButton2IsChecked { get; set; }
public enum RadioButtons { RadioButton1, RadioButton2, None }
public RadioButtons SelectedRadioButton
{
    get
    {
        if (this.RadioButtonIsChecked) 
            return RadioButtons.RadioButton1;
        else if (this.RadioButtonIsChecked) 
            return RadioButtons.RadioButton2;
        else 
            return RadioButtons.None;
     }
}
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式将我的单选按钮直接绑定到SelectedRadioButton属性吗?我真的只需要RadioButton1IsCheckedRadioButton2IsChecked属性来计算选定的单选按钮.

wpf binding radio-group radio-button

22
推荐指数
3
解决办法
4万
查看次数

在XAML中Path =有什么用?

我在XAML中使用了很多绑定,有时我在绑定中使用path =,有时不使用.在哪些情况下我需要路径=什么时候可以省略这个?

c# wpf xaml binding

22
推荐指数
3
解决办法
2万
查看次数

用符号表示"< - "绑定

我很难理解这一点.写入符号时,以下两行有何不同?

1. let x = expression
2. x <- expression
Run Code Online (Sandbox Code Playgroud)

我看不出来.有时一个工作,有时一个工作.但两者都很少."了解你是一个哈克尔"说,<-右侧将符号绑定在左侧的符号上.但这与简单定义xlet什么不同?

binding haskell

22
推荐指数
3
解决办法
4161
查看次数

找不到绑定源

当我添加新选项卡然后将其删除时,我的应用程序将抛出此错误消息:

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.TabControl', AncestorLevel='1''. BindingExpression:Path=TabStripPlacement; DataItem=null; target element is 'TabItem' (Name=''); target property is 'NoTarget' (type 'Object')
Run Code Online (Sandbox Code Playgroud)

如果我添加了一个新选项卡,切换到另一个选项卡,切换回来然后删除它,它没有抱怨.看起来像是在切换过程中"更新"的东西,但我无法弄清楚是什么以及如何解决它们.

这是我的xaml文件:

<Window x:Class="MyHomework__MVVM_.MyHomeworkView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="My Homework" Height="450" Width="800" ResizeMode="CanMinimize">
    <Grid Margin="0,0,10,10">
        <TabControl HorizontalAlignment="Left" Height="330" VerticalAlignment="Top" Width="764" Margin="10,10,0,0" ItemsSource="{Binding AllTabs}" SelectedItem="{Binding SelectedTab}">
            <TabControl.ItemContainerStyle>
                <Style TargetType="TabItem">
                    <Setter Property="Header" Value="{Binding Header}"/>
                    <Setter Property="ContentTemplate">
                        <Setter.Value>
                            <DataTemplate>
                                <Grid>
                                    <TextBox Text="{Binding Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" AcceptsReturn="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" TextChanged="OnTextChanged">
                                    </TextBox>
                                </Grid>
                            </DataTemplate>
                        </Setter.Value>
                    </Setter>
                    <Setter …
Run Code Online (Sandbox Code Playgroud)

c# wpf binding

22
推荐指数
2
解决办法
3976
查看次数

WPF绑定到两个属性

我有一个具有Message属性的WPF控件.

我目前有这个:

 <dxlc:LayoutItem >
            <local:Indicator Message="{Binding PropertyOne}" />
 </dxlc:LayoutItem>
Run Code Online (Sandbox Code Playgroud)

但我需要将该Message属性绑定到两个属性.

显然不能这样做,但这可以帮助解释我想要的是什么:

<dxlc:LayoutItem >
            <local:Indicator Message="{Binding PropertyOne && Binding PropertyTwo}" />
 </dxlc:LayoutItem>
Run Code Online (Sandbox Code Playgroud)

wpf binding

22
推荐指数
3
解决办法
3万
查看次数

Angular Directive的隔离范围的可选双向绑定

我刚刚了解到你可以通过以下方式选择"反向"或回调绑定:

scope: { parentScopeFunc: '&?' }
Run Code Online (Sandbox Code Playgroud)

我试图看看是否有办法用双向绑定做类似的事情.

scope: { optional2WayBoundProp: '=?' }
Run Code Online (Sandbox Code Playgroud)

我尝试使用链接函数的element&attrsparams,但后来我失去了回到父级的双向绑定.该方法仅允许父对子更新.然后我不妨使用@范围机制.

编辑

我发现这个问题Angular JS指令,在链接函数中更改了2路数据绑定,以便回答有关的主要问题=?.但是它没有解决'可选'非约束值,如truefalse.

目标

这就是我想要完成的事情:

  • 编写一个面板指令,用于转换内容,并且可以在标题区域之外进行折叠:
    <my-panel> <transcluded-header-content/> <button ng-click="toggleCollapse()"/> <transcluded-body-content ng-if="isExpanded"/> </my-panel>

  • 在某些情况下,我想在父作用域中缓存面板实例的折叠状态(因此,双向绑定视图的控制器可以确定如何缓存此信息):

    <my-panel is-expanded="parentScopeProp">

  • 在其他情况下,我可能只想声明它而不绑定到父作用域属性或者我可能根本不会声明它,在这种情况下它假定它已扩展.

    <my-panel is-expanded="true/false">

据我所知,通过=分配,那表情像undefined,truefalse无法评估.

binding transclusion angularjs-directive angularjs-scope

22
推荐指数
1
解决办法
2万
查看次数

无法绑定到:spark-master,使用具有两个worker的远程群集

我正在设法让所有人都与当地主人和两名远程工作人员合作.现在,我想连接到具有相同远程工作者的远程主服务器.我尝试了在Internet上使用/ etc/hosts和其他推荐的不同设置组合,但没有工作.

Main类是:

public static void main(String[] args) {
    ScalaInterface sInterface = new ScalaInterface(CHUNK_SIZE,
            "awsAccessKeyId",
            "awsSecretAccessKey");

    SparkConf conf = new SparkConf().setAppName("POC_JAVA_AND_SPARK")
            .setMaster("spark://spark-master:7077");

    org.apache.spark.SparkContext sc = new org.apache.spark.SparkContext(
            conf);

    sInterface.enableS3Connection(sc);
    org.apache.spark.rdd.RDD<Tuple2<Path, Text>> fileAndLine = (RDD<Tuple2<Path, Text>>) sInterface.getMappedRDD(sc, "s3n://somebucket/");

    org.apache.spark.rdd.RDD<String> pInfo = (RDD<String>) sInterface.mapPartitionsWithIndex(fileAndLine);

    JavaRDD<String> pInfoJ = pInfo.toJavaRDD();

    List<String> result = pInfoJ.collect();

    String miscInfo = sInterface.getMiscInfo(sc, pInfo);

    System.out.println(miscInfo);

}
Run Code Online (Sandbox Code Playgroud)

它失败了:

List<String> result = pInfoJ.collect();
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

1354 [sparkDriver-akka.actor.default-dispatcher-3] ERROR akka.remote.transport.netty.NettyTransport  - failed to bind to spark-master/192.168.0.191:0, shutting down Netty transport
1354 [main] WARN …
Run Code Online (Sandbox Code Playgroud)

binding runtime-error apache-spark

22
推荐指数
4
解决办法
2万
查看次数