WPFページにラジオボタンとコンボボックスがあります。はComboBox
通常のカスタマイズバージョンでありComboBox
、ドロップダウンに複数の列を表示できます。IsChecked
ラジオボタンの状態に応じて、特定の列を表示または非表示にするだけです。DataTrigger
コードビハインドを避けるためにを使用しようとしています。
<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が見つからないことがわかります。