グリッドに4行2のデータグリッドがあります。 ShowPackagesチェックボックスに基づいて、1つのDataGridを表示/非表示したい。コードはすべて正しく動作し、データグリッドを表示/非表示しています。しかし、問題は、2行目の他のデータグリッドが利用可能な領域に拡張されていないことです。グリッド/データグリッドが空白に展開していません
これは、潜在的には、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
夢のように動作しますが、高さをVMにバインドする作業がありましたが、これはビューにすべて含まれているため、はるかに優れたオプションです。ありがとう! –