【发布时间】:2015-05-09 16:05:57
【问题描述】:
我的 .xaml 文件中有两个组合框。我将第一个组合框称为“主组合框”。另一个组合框也包含与第一个主组合框相同的一组值。
当我更改第一个组合框中的选择时,我希望将另一个组合框的选择更改为相同的值。
我已经按照以下方式完成了。
在我的视图模型中,我有以下内容。
private <MyClass> _firstComboBoxSelection;
public <MyClass> FirstComboboxSelection
{
set { _firstComboBoxSelection=value; }
get { return _firstComboBoxSelection ; }
}
private <MyClass> _secondComboBoxSelection;
public <MyClass> SecondComboboxSelection
{
set { _secondComboBoxSelection=value; }
get { return _secondComboBoxSelection ; }
}
组合框如下所示。
<ComboBox Name="cmbFirst"
SelectionChanged="cmbFirst_SelectionChanged"
SelectedItem="{Binding FirstComboboxSelection,Mode=TwoWay}"
ItemSource="{Binding MyData}"
DisplayMemberPath="Name" />
<ComboBox SelectedItem="{Binding SecondComboboxSelection,Mode=TwoWay}"
ItemSource="{Binding MyData}"
DisplayMemberPath="Name" />
MyData 是 MyClass 的 ObservableCollection。 MyClass 包含属性 Name。 在我的 .xaml.cs 文件中,我有以下内容。
private void cmbFirst_SelectionChanged(...)
{
_secondComboBoxSelection=_firstComboBoxSelection;
}
但它并没有像我想要的那样改变第二个组合框。有人可以帮我找出哪里出错了吗?
【问题讨论】:
-
您不需要在事件背后的代码中执行此操作。您应该能够在 xaml 中将第二个组合框绑定到第一个组合框。您可以绑定到 Xaml 中的其他控件属性。
-
你能举个例子吗?我是 WPF 新手