我有一個4行2的網格包含datagrids。我想顯示/隱藏一個基於ShowPackages複選框的數據網格。代碼全部正常工作,顯示/隱藏數據網格。但是,問題在於第二行中的其他數據網格沒有擴展到可用空間中。Grid/Datagrid沒有擴展到空間
我明白這可能會與定義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>
這將與數據網格的內容一起增長。我基本上希望每個數據網格在選中時都是1 *。設置爲摺疊狀態時,其他網格應變爲2 *並填充空間。 –
我更新了我的答案。你不需要一個轉換器。 – Amine
像夢一樣工作,我有圍繞高度綁定到虛擬機的工作,但這是自包含在視圖中,所以這是一個更好的選擇。謝謝! –