#xaml
#xaml
Вопрос:
У меня есть элемент управления WPF combobox, привязанный к полю 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).
Таблица ddMeasure БД выглядит следующим образом:
RID Measure
--- -------
1 One
2 Two
3 Three
4 Four
таким образом, «Единица», введенная в поле выбора со списком, и переменная Measure1 также заполняется.
Ответ №1:
Хорошо, я нашел решение для этого. Вы должны установить для свойства IsSynchronizedWithCurrentItem значение false, которое, как я думал, я пробовал, но, кажется, я только что удалил это свойство, и значение по умолчанию должно быть true. Итак, xaml выглядит следующим образом
<ComboBox x:Name="cbMeasure"
Width="104"
ItemsSource="{Binding Source={StaticResource ddMeasureViewSource}}"
DisplayMemberPath="Measure"
IsSynchronizedWithCurrentItem="False"
SelectedValuePath="Measure"
SelectedValue="{Binding Measure1}"/>
Надеюсь, это поможет другим, кто пытается найти информацию об этом типе привязки.