Combobox SelectedValue不显示?

时间:2013-03-08 10:34:26

标签: c# combobox microsoft-metro store

我在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();
    }
}

测试给我以下数据:“左”。所以,我得到数据,但绑定不起作用!

谢谢!

1 个答案:

答案 0 :(得分:1)

问题是您无法将System.String转换为System.Int16(简短),并且您无法解析,因为“左”,“右”,“中心”不是数字。

尝试使用string作为SelectedValue

private string _test;
public string Test
{
    get
    {
        return _test;
    }
    set
    {
        _test = value;
        NotifyPropertyChanged();
    }
}