绑定到具有指定内容的组合框

时间:2015-06-05 13:30:05

标签: c# wpf

我想知道在指定内容时如何绑定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(); } }

我没有正确设置绑定吗?

2 个答案:

答案 0 :(得分:1)

尝试指定绑定模式,Mode = TwoWay

欲了解更多信息,请访问 https://msdn.microsoft.com/en-us/library/system.windows.data.binding.mode(v=vs.110).aspx

希望这有帮助

答案 1 :(得分:1)

首先:在您的xaml中使用此命名空间xmlns:sys="clr-namespace:System;assembly=mscorlib"

第二:将您的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>

第三:您是如何实施INotifyPropertyChanged的?您似乎没有将属性名称作为字符串发送到Notify机制。它应该是这样的(NotifyOfPropertyChange()

PropertyChanged(this, new PropertyChangedEventArgs("Duration"));