我对ComboBox
有疑问。当我尝试将其设置为显示数据库中的数据时,它不会显示值。 ComboBox
包含app.xaml中数组中的项目。
这是代码:
<Application.Resources>
<x:Array x:Key="Opcje_rodzaju" Type="local:ComboBoxItemString">
<local:ComboBoxItemString ValueString = "N2"/>
<local:ComboBoxItemString ValueString = "N3"/>
<local:ComboBoxItemString ValueString = "O3"/>
<local:ComboBoxItemString ValueString = "O4"/>
<local:ComboBoxItemString ValueString = "M2"/>
<local:ComboBoxItemString ValueString = "M3"/>
<local:ComboBoxItemString ValueString = "INNE"/>
</x:Array>
<x:Array x:Key="Opcje_tacho" Type="local:ComboBoxItemString">
<local:ComboBoxItemString ValueString = "Analogowy"/>
<local:ComboBoxItemString ValueString = "Cyfrowy"/>
</x:Array>
<x:Array x:Key="Opcje_kontroli" Type="local:ComboBoxItemString">
<local:ComboBoxItemString ValueString = "Sprawdzono"/>
<local:ComboBoxItemString ValueString = "Nie sprawdzono"/>
<local:ComboBoxItemString ValueString = "Stwierdzono nieprawidłowości"/>
</x:Array>
</Application.Resources>
<ComboBox Height="29" HorizontalAlignment="Left" Margin="343,154,0,0" VerticalAlignment="Top" Width="116" ItemsSource="{StaticResource Opcje_rodzaju}" Name="combobox1"
DisplayMemberPath ="ValueString"
SelectedValuePath="ValueString"
SelectedValue="{Binding Rodzaj_poj, Mode=TwoWay}"/>
combobox1.SelectedValuePath = "ValueString";
combobox1.DisplayMemberPath = "ValueString";
combobox1.ItemsSource = "Opcje_rodzaju";
combobox1.SelectedValue = k.Rodzaj_poj;
答案 0 :(得分:0)
假设您的模型定义如下:
public class ComboBoxItemString
{
public string ValueString { get; set; }
}
与Rodzaj_poj
的{{1}}绑定的属性SelectedValue
需要是comboBox
而不是string
对象
ComboBoxItemString
最后,您需要实现 private string _rodzaj_poj;
public string Rodzaj_poj
{
get
{
return _rodzaj_poj ;
}
set
{
if (_rodzaj_poj == value)
{
return;
}
_rodzaj_poj = value;
OnPropertyChanged();
}
}
接口,以便在更改INotifyPropertyChanged
后,将通知接口
Rodzaj_poj