我的 WPF 页面上有一个单选按钮和一个组合框。这ComboBox
是 normal 的自定义版本ComboBox
,可以在下拉列表中显示多个列。IsChecked
我想要的只是根据单选按钮的状态显示或隐藏某个列。我正在尝试使用 aDataTrigger
来避免代码落后。
<RadioButton Content="Show ID Column" x:Name="chkScrollCustomerNumber" IsChecked="True" >
<m:MultiColumnComboBox x:Name="cboCustomer" IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding AllCustomers}" SelectedValuePath="customerID" DisplayMemberPath="customerID" SelectedValue="{Binding SalesOrder.customerID}">
<DataGridTextColumn x:Name="colID" Binding="{Binding customerID, Mode=Default}" />
<DataGridTextColumn Binding="{Binding customerName, Mode=Default}" />
<DataGridTextColumn Binding="{Binding billingAddress, Mode=Default}"/>
<m:MultiColumnComboBox.Style>
<Style>
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=chk1, Path=IsChecked}" Value="True">
<Setter TargetName="colID" Property="Visibility" Value="Visible"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=chk1, Path=IsChecked}" Value="False">
<Setter TargetName="colID" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</m:MultiColumnComboBox.Style>
</m:MultiColumnComboBox>
但它告诉我找不到 colID。