我在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绑定无效!?
答案 0 :(得分:0)
在你的情况下,绑定模式必须是OneWayToSource
,如SelectedValue="{Binding Path=TestSpeed, Mode=OneWayToSource}
。当TestSpeed string
或int
有效时,short
- 无法正常工作。我认为你需要编写特定的转换器来使用short
或使用int
并且不要担心