我已经看到并测试了很多有关此的材料,但我又遇到了问题。我有一个绑定到组合框的城市集合,我想在单击按钮时设置所选项目(所选城市)(为简单起见)
这是我在xaml中的组合框:
<ComboBox Grid.Column="1"
HorizontalAlignment="Left"
Margin="65,10,0,0"
Height="25"
Name="Cities"
DisplayMemberPath="Name"
IsSynchronizedWithCurrentItem="True"
VerticalAlignment="Top"
Width="71">
</ComboBox>
这是相应ViewModel中的代码:
private City _selectedCity;
public City SelectedCity
{
get { return _selectedCity; }
set
{
_selectedCity = value;
NotifyOfPropertyChange(() => SelectedCity);
MessageBox.Show(SelectedCity.Name);
}
}
当我单击按钮时,将执行以下代码行:
SelectedCity = CitySecond;
其中,CitySecond是Cities Collection中的一个随机项目。
当我单击此按钮时,所需的城市名称将显示在MessageBox中,但组合框中没有任何变化。我在Debug模式下对其进行了测试,一切看起来都很好,但是看起来comboBox感觉没有什么变化。
我还在组合框xaml定义中添加了以下代码,但未更改:
SelectedItem="{Binding SelectedCity}"
我该怎么办?
编辑:
我创建了另一个项目,一切正常,但这是个谜。其他是否会影响组合框正常工作?