我在视图中有一些代码:
<StackPanel Orientation="Horizontal" Background="{StaticResource GrayBrush8}">
<RadioButton Content="Radio1" />
<RadioButton Content="Radio2" />
</StackPanel>
<ct:DynamicFilterPanel Grid.Row="1"
ItemsType="{x:Type db:RadioData1}"
DbContext="{Binding DataContext}"
FilterQuery="{Binding FilterQuery, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ChildCollectionsFilters="{Binding SubTypesFilter}"
WindowType="{x:Type mah:MetroWindow}"
/>
<ct:BDataGrid Grid.Row="2" IsReadOnly="True" ItemsSource="{Binding Model.List}" SelectedItem="{Binding Model.SelectedItem}" />
我有一些带有数据以及列,模型和视图模型名称的类。 当我启动应用程序时,它将显示带有RadioData1数据的列。好。第一个单选按钮就是为此而设计的。但是,当我单击第二个单选按钮时,该如何显示带有RadioData2列的另一个列表。什么样的转换器?或我必须在此视图中进行的更改。
答案 0 :(得分:0)
您必须编辑XAML
<StackPanel Orientation="Horizontal" Background="{StaticResource GrayBrush8}">
<RadioButton Name="Radio1" Content="Radio1" DataContextChanged="RadioButton_DataContextChanged" />
<RadioButton Name="Radio2" Content="Radio2" />
</StackPanel>
和CS文件中
添加方法
private void RadioButton_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (Radio1.IsChecked==true)
{
//your Code
}
else
{
//your other code
}
}
您可以使用可见性显示或隐藏XAML中的内容
<Button Name="btn1" Visibility="Hidden" />
并像这样在您的CS文件中使用
if (Radio1.IsChecked==true)
{
btn1.Visibility = Visibility.Visible;
}