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

C# 绑定到具有指定内容的组合框,c#,wpf,C#,Wpf,我想知道当指定了组合框项的内容时,如何绑定到该项。我可以将内容保存到数据库中,但当我尝试重新输入记录时,组合框根本不会更改为SelectedItem <ComboBox SelectedItem="{Binding Duration, UpdateSourceTrigger=PropertyChanged}" SelectedIndex="0" Style="{StaticResource CombBox}" MinWidth="60"> <ComboBoxItem C

我想知道当指定了
组合框
项的内容时,如何绑定到该项。我可以将内容保存到数据库中,但当我尝试重新输入记录时,
组合框
根本不会更改为
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(); } }

公共字符串持续时间{get{return Entity.Duration;}set{Entity.Duration=value;NotifyOfPropertyChange();}

我没有正确设置绑定吗

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

有关更多信息,请访问


希望这对您有所帮助。

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

第二步:将组合框更改为:

<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>

用类型为
Duration
Hi@HosseinNarimaniRad的对象替换ComboBoxItem,我不确定这到底是什么意思。你能给我举个例子吗?他的意思是不用
ComboBoxItem
,而是用
String
。你使用的是selectedItem和selectedIndex,我不确定这是否是一项有意义的工作。真是太好了!!!!非常感谢。我已经使用caliburn实现了属性更改。后面干净多了。您不必像INotify那样指定变量,您必须使用OnPropertyChange(“Duration”)
PropertyChanged(this, new PropertyChangedEventArgs("Duration"));