我在xaml中创建了一个这样的组合框:
ComboBox x:Name="cbTest" ItemsSource="{Binding}" SelectedValue="{Binding Test, Mode=TwoWay}" HorizontalAlignment="Left" Margin="0,10,0,0" Width="250" SelectionChanged="cbTest_SelectionChanged"/>
Combobox充满了以下ItemSources:
cbTest.ItemsSource = new string[] { "Left", "Right", "Center" };
我在Combobox中看到3个字符串,但它没有显示我之前选择的SelectedValue。这是财产:
private short _test;
public short Test
{
get
{
return _test;
}
set
{
_test = value;
NotifyPropertyChanged();
}
}
测试给我以下数据:“左”。所以,我得到数据,但绑定不起作用!
谢谢!
答案 0 :(得分:1)
问题是您无法将System.String
转换为System.Int16
(简短),并且您无法解析,因为“左”,“右”,“中心”不是数字。
尝试使用string
作为SelectedValue
private string _test;
public string Test
{
get
{
return _test;
}
set
{
_test = value;
NotifyPropertyChanged();
}
}