【发布时间】:2016-08-22 22:05:11
【问题描述】:
我有一个 4 行 2 包含数据网格的网格。我想根据 ShowPackages 复选框显示/隐藏一个数据网格。代码一切正常,并显示/隐藏数据网格。但是,问题在于第二行中的其他数据网格没有扩展到可用空间。
我了解这可能与定义 4 行并将所有这些渲染到所述空间中有关。如何实现所需的功能?
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal">
<CheckBox Content="Show Completed" IsChecked="{Binding ShowCompletedCommand}" Margin="3"/>
<CheckBox Content="Show Packages" IsChecked="{Binding ShowPackages}" Margin="3"/>
</StackPanel>
<DataGrid Grid.Row="1" ItemsSource="{Binding WorkOrders}" SelectedValue="{Binding SelectedWorkOrder}" AutoGenerateColumns="True"/>
<DataGrid Grid.Row="2" Visibility="{Binding ShowPackages, Converter={StaticResource BoolToVis}}" ItemsSource="{Binding Packages}" />
<Grid Grid.Row="3">
<StackPanel Orientation="Horizontal">
<Button Command="{Binding RefreshCommand}" Content="Refresh"/>
<Button Command="{Binding CancelCommand}" Content="Cancel"/>
</StackPanel>
</Grid>
【问题讨论】:
标签: wpf layout visibility