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"));