wpf:绑定到另一个xaml文件中的控件
本文关键字:文件 控件 xaml 另一个 绑定 wpf | 更新日期: 2023-09-27 17:59:33
我有一个main.xaml文件。在main.xaml文件中,它引用了另一个xaml文件中的列表框。使用视图调用:LayoutViewList
在main.xaml文件中,有一个按钮。只有当选择了列表框时,该按钮才会启用。看起来ElementName=view.LayoutViewList.LayoutListBox不起作用。非常感谢
Button IsEnabled="{Binding ElementName=view:LayoutViewList.LayoutListBox, Path=SelectedItems.Count}"
绑定错误:
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=view:LayoutViewList.LayoutListBox'. BindingExpression:Path=SelectedItems.Count; DataItem=null; target element is 'Button' (Name=''); target property is 'IsEnabled' (type 'Boolean')
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=view:LayoutViewList.LayoutListBox'. BindingExpression:Path=SelectedIndex; DataItem=null; target element is 'Button' (Name=''); target property is 'NoTarget' (type 'Object')
Binding
的视图是MainView
文件的子级,则需要使用RelativeSource Binding
。试试这个:
<Button IsEnabled="{Binding DataContext.SelectedItems.Count, RelativeSource={
RelativeSource AncestorType={x:Type YourPrefix:MainView}}" />
此Binding
是指由对象中的SelectedItems
属性暴露的对象的Count
属性,该对象被设置为名为MainView
的UserControl
或Window
的DataContext
。