我有简单的WPF布局任务,并且希望尽可能避免代码隐藏。XAML中的按钮处理程序
我有两个面板左右。当我colapsing左侧面板 - 右侧面板被拉伸...... 这是我的XAML:
<Grid Name="gridContainer">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Background="Aqua" Grid.Column="0" Name="leftPanel" >
<TextBlock FontSize="35" Foreground="#58290A" TextWrapping="Wrap">Left Hand Side</TextBlock>
</StackPanel>
<GridSplitter Name="leftSplitter" Grid.Column="1" HorizontalAlignment="Stretch"/>
<StackPanel Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Label Content="... Clien Area .. Has to Stretch vertically and horizontally" Margin="10"></Label>
<Button Click="LeftButton_Click" Margin="10">Close Left Panel</Button>
</StackPanel>
</Grid>
这是后台代码:
private void LeftButton_Click(object sender, RoutedEventArgs e)
{
if(leftPanel.Visibility == System.Windows.Visibility.Visible)
{
gridContainer.ColumnDefinitions[0].Width = GridLength.Auto;
leftPanel.Visibility = System.Windows.Visibility.Collapsed;
leftSplitter.Visibility = System.Windows.Visibility.Collapsed;
}
else
{
gridContainer.ColumnDefinitions[0].Width = GridLength.Auto;
leftPanel.Visibility = System.Windows.Visibility.Visible;
leftSplitter.Visibility = System.Windows.Visibility.Visible;
}
}
我想知道,有什么办法避免这里的代码?并仅在XAML中实现此任务?
感谢意见
俗话说,“只因为你能,不一定意味着你应该”)尽管如此,MVVM真的可以帮助你。 – KodeKreachor 2012-03-28 19:40:31