【发布时间】:2015-04-01 06:23:17
【问题描述】:
我遇到了一些绑定问题,我的所有组合框下拉项都有ObservableCollection 的字符串。应该可以从下拉菜单中选择一个值或手动插入一些文本或结合两种方法。
<ComboBox ItemsSource="{Binding AvailableAddressSymbols}"
Text="{Binding SelectedItem.LowerBound,
ElementName=combobox_sys_data_protection}"
HorizontalAlignment="Right"
IsEditable="True"
DropDownOpened="SymbolAddressRefress_Dropdownopend" />
<ComboBox ItemsSource="{Binding AvailableAddressSymbols}"
Text="{Binding SelectedItem.UpperBound,
ElementName=combobox_sys_code_protection}"
IsEditable="True"
DropDownOpened="SymbolAddressRefress_Dropdownopend" />
我绑定到该组合框的文本属性以允许手动编写文本。一切正常,但我有不止一个这些组合框。 组合框的可用项目会在下拉菜单打开时刷新。
现在问题来了:当我在 combobox1 中选择一个值并且我想在 combobox2 中选择一个值时,combobox1 中的值设置为“”;
刷新会清除项目列表并添加新值,我认为这是问题所在,但我需要刷新它,因为可能会有新值。
internal void refreshAvailableAddressSymbols()
{
AvailableAddressSymbols.Clear();
for (int i = 0;
i < Database.ProjectConfiguration.AddressSymbols.Count;
i++)
{
AvailableAddressSymbols.Add(
Database.ProjectConfiguration
.AddressSymbols[i].StartAddress);
AvailableAddressSymbols.Add(
Database.ProjectConfiguration
.AddressSymbols[i].EndAddress);
}
}
【问题讨论】:
标签: c# wpf xaml binding combobox