我有一个WPF组合框控件绑定到数据库表中的edm字段。这工作正常,只是它在启动时输入控件中的第一个值,这是不需要的。继承人xaml
<ComboBox x:Name="cbMeasure"
Width="104"
ItemsSource="{Binding Source={StaticResource ddMeasureViewSource}}"
DisplayMemberPath="Measure"
IsSynchronizedWithCurrentItem="True"
SelectedValuePath="Measure"
SelectedValue="{Binding Measure1}"/>
如果我只是对控件进行硬编码,它就不会将第一个值放在变量中。这是xaml的样子
<ComboBox x:Name="cbMeasure" Width="104" Text="{Binding Measure1}">
<TextBlock Text="one"/>
<TextBlock Text="two"/>
<TextBlock Text="three"/>
<TextBlock Text="four"/>
</ComboBox>
我需要做些什么来使数据库绑定组合框以一个空值开始,就像文本框组合框一样?这是一个问题,因为它将SelectedValue中的第一个值绑定到变量(Measure1)。
db table ddMeasure看起来像:
RID Measure
--- -------
1 One
2 Two
3 Three
4 Four
所以将“One”放入ComboBox选项并填充Measure1变量。
答案 0 :(得分:2)
好的,我找到了解决方法。您必须将属性IsSynchronizedWithCurrentItem设置为false,我认为我曾尝试过,但我认为我刚刚删除了该属性,默认值必须为true。所以xaml看起来像
<ComboBox x:Name="cbMeasure"
Width="104"
ItemsSource="{Binding Source={StaticResource ddMeasureViewSource}}"
DisplayMemberPath="Measure"
IsSynchronizedWithCurrentItem="False"
SelectedValuePath="Measure"
SelectedValue="{Binding Measure1}"/>
希望这有助于其他尝试查找此类绑定信息的人。