Combobox SelectedValue不工作?

时间:2013-03-09 14:50:58

标签: c# combobox microsoft-metro

我在xaml中创建了一个这样的组合框:

ComboBox x:Name="cbTest" SelectedValue="{Binding TestSpeed}" HorizontalAlignment="Left" Margin="0,10,0,0" Width="250" SelectionChanged="cbTest_SelectionChanged"/>

Combobox充满了以下内容:

        for (int i = 1; i < 6; i++)
            cbTest.Items.Add(i);

我看到了组合框中的项目,但它没有显示我之前选择的SelectedValue。这是财产:

private short _testSpeed;
public short TestSpeed
{
    get
    {
        return _testSpeed;
    }
    set
    {
        _testSpeed= value;
        NotifyPropertyChanged();
    }
}

这是我在SelectedChanged

上更改项目的时候
 _vm.TestSpeed = (short)Convert.ToInt16(cbTest.SelectedValue);

TestSpeed在调试中为我提供了正确的数据,但是selectedValue绑定无效!?

1 个答案:

答案 0 :(得分:0)

在你的情况下,绑定模式必须是OneWayToSource,如SelectedValue="{Binding Path=TestSpeed, Mode=OneWayToSource}。当TestSpeed stringint有效时,short - 无法正常工作。我认为你需要编写特定的转换器来使用short或使用int并且不要担心