只有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