C# 我需要根据其他组合框的选择设置组合框的值

C# 我需要根据其他组合框的选择设置组合框的值,c#,wpf,combobox,C#,Wpf,Combobox,当选择上一个组合框时,我试图更改组合框的值,但它不起作用 这是我的密码: 加载表单时,我填充第一个组合框: 将CMBAX的SelectedValuePath属性设置为Id: …并将其SelectedValue属性设置为税务Id: cmbTaxes.SelectedValue=Id;Id是属性的名称还是属性的值?如果是一个属性的名称,您需要的是CMBAX.SelectedValuePath=Id;此外,请考虑DyMANIC的建议,这样做在XAML与绑定。这将是非常简单和直接的方式。这不是真正重要的

当选择上一个组合框时,我试图更改组合框的值,但它不起作用

这是我的密码:

加载表单时,我填充第一个组合框:

将CMBAX的SelectedValuePath属性设置为Id:

…并将其SelectedValue属性设置为税务Id:


cmbTaxes.SelectedValue=Id;Id是属性的名称还是属性的值?如果是一个属性的名称,您需要的是CMBAX.SelectedValuePath=Id;此外,请考虑DyMANIC的建议,这样做在XAML与绑定。这将是非常简单和直接的方式。这不是真正重要的问题,但无论如何:为什么您不使用任何绑定,而是直接在代码隐藏中设置属性?我们身处一个WPF世界…@mm8 List-listOfActiveTaxes=TaxesController.SelectAll@EdPlunkett cmbGroups.SelectedItem中有Tax对象,我想:根据选择的组设置我的CMBtax取决于组的Tax,因为allready中有Tax对象。@Roxy'Pro如果您不想回答问题,请忽略它。您能解释为什么吗?SelectedValue就是这样工作的。您将其设置为与要选择的项的SelectedValuePath属性指定的属性值相匹配的值。我认为我需要在此处使用SelectedItem,因为我认为它是关于SelectedItem的。。
List<Tax> listOfActiveTaxes = TaxesController.SelectAll();

int IndexOfTax = TaxesController.SelectAll().FindIndex(a => a.Value == DefaultTaxValue);

cmbTaxes.ItemsSource = listOfActiveTaxes;
cmbTaxes.DisplayMemberPath = "Description";
cmbTaxes.SelectedValue = "Id";
cmbTaxes.SelectedIndex = IndexOfTax;
private void cmbGroups_SelectionChanged(object sender, SelectionChangedEventArgs e)
{

  var selectedGroup = (Group)cmbGroups.SelectedItem;
  if (selectedGroup != null && selectedGroup.Id > 0)
  {

   //Not changing when I select any Group
   cmbTaxes.SelectedItem = selectedGroup.Tax;
  }

}
cmbTaxes.SelectedValuePath = "Id";
private void cmbGroups_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    var selectedGroup = (Group)cmbGroups.SelectedItem;
    if (selectedGroup != null && selectedGroup.Id > 0)
    {
        cmbTaxes.SelectedValue = selectedGroup.Tax.Id;
    }
}