[英]Binding to Selected in WPF combobox
我有一个 WPF、C# 应用程序和 acombobx,例如:
<ComboBox SelectedItem="{Binding MySelectedItem.MyString, ValidatesOnDataErrors=True}" ItemsSource="{Binding MyCollection}" />
有没有办法绑定到Selected
,或者如果选择了一个项目,则让命令触发。
背景:
我想根据所选项目开始加载数据,开始触发器应该是IsSelected
或LostFocus
东西
任何帮助或不同/更好的存档方式都会非常有帮助。
非常感谢
有几种方法
1 - 将您的绑定属性定义为完整属性,并在值更改时进行操作:
private string myString;
public string MyString
{
get { return myString; }
set
{
myString = value;
// do your stuff here...
}
}
2 - 使用交互性并将事件转换为命令:
<ComboBox ItemsSource="{Binding MyCollection}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding SelectedItemChangedCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
不要忘记添加所需的命名空间:
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
并在您的 ViewModel 中实现 SelectedItemChangedCommand
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.