我有一个组合框:
<ComboBox x:Name="cbConnection"
ItemsSource="{Binding Source={StaticResource XmlConnectionList}, XPath=//ComboItem}"
DisplayMemberPath="Key"
SelectedValuePath="Value"
SelectedValue="{Binding Path=ConnectionString,ValidatesOnDataErrors=True,UpdateSourceTrigger=PropertyChanged}"
Margin="{StaticResource ConsistentMargins}"
Validation.ErrorTemplate="{StaticResource TextBoxErrorTemplate}" Width="120"
LostFocus="{Binding Path=cbConnection_LostFocus}"/>
我试图将 LostFocus 事件处理程序移至 ViewModel,因为我在设置器中为 ViewModel 中找到的 SelectedValue 绑定“ConnectionString”做了一些错误处理。如果用户重新选择相同的 ComboBoxItem,我希望发生这种情况,除非选择了不同的列表项,否则它会触发 OnPropertyChanged。
上述绑定导致错误
不能在“ComboBox”类型的“AddLostFocusHandler”属性上设置“绑定”。只能在 DependencyObject 的 DependencyProperty 上设置“绑定”。
无论用户的选择如何,如何在选择组合框中的任何项目时触发 ViewModel 中的可重复代码?