只有2个独立的面板。例如。
<Grid x:Name="OnGrid" Visibility="Collapsed" />
<Grid x:Name="OffGrid" Visibility="Collapsed" />
<CheckBox Content="CheckBox" Unchecked="CheckBox_Unchecked" Checked="CheckBox_Checked"/>
设置未经检查和检查的代码隐藏事件中每个事件的可见性。
private void CheckBox_Unchecked(object sender, System.Windows.RoutedEventArgs e)
{
OffGrid.Visibility = Visibility.Visible;
OnGrid.Visibility = Visibility.Collapsed;
}
private void CheckBox_Checked(object sender, System.Windows.RoutedEventArgs e)
{
OffGrid.Visibility = Visibility.Collapsed;
OnGrid.Visibility = Visibility.Visible;
}
或者,您可以使用转换器并在xaml中执行所有操作。例如。如果您熟悉MVVM Silverlight 4: how to switch control visibility
我最终使用这种方法:http://www.rhyous.com/2011/02/22/binding-visibility-to-a-bool-value-in-wpf/ – 2011-05-02 22:54:57