绑定到具有指定内容的组合框
本文关键字:组合 绑定 | 更新日期: 2023-09-27 17:53:31
我想知道如何在指定内容时绑定到ComboBox
项。我能够将内容保存到数据库中,但当我尝试重新输入记录时,ComboBox
根本不会更改为SelectedItem
。
<ComboBox SelectedItem="{Binding Duration, UpdateSourceTrigger=PropertyChanged}" SelectedIndex="0" Style="{StaticResource CombBox}" MinWidth="60">
<ComboBoxItem Content="15 Minutes"/>
<ComboBoxItem Content="30 Minutes"/>
<ComboBoxItem Content="45 Minutes"/>
<ComboBoxItem Content="1 Hour"/>
</ComboBox>
public string Duration { get { return Entity.Duration; } set { Entity.Duration = value; NotifyOfPropertyChange(); } }
我的绑定设置不正确吗?
First:在您的xaml中使用此命名空间xmlns:sys="clr-namespace:System;assembly=mscorlib"
Second:将ComboBox更改为:
<ComboBox SelectedItem="{Binding Duration, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<sys:String>15 Minutes</sys:String>
<sys:String>30 Minutes</sys:String>
<sys:String>45 Minutes</sys:String>
</ComboBox>
Third:您是如何实现INotifyPropertyChanged
的?似乎您没有将属性名称作为字符串发送给Notify机制。应该是这样的(而不是NotifyOfPropertyChange()
)
PropertyChanged(this, new PropertyChangedEventArgs("Duration"));
尝试指定绑定模式,mode = two - way
更多信息请访问https://msdn.microsoft.com/en-us/library/system.windows.data.binding.mode (v = vs.110) . aspx
希望能有所帮助