現在、StackPanel内に
・RadioBox
・Label
・ListBox
・Button
を設置しています。
※ StackPanelの外にはGridがあります。
WPF
1<StackPanel> 2 <RadioButton Name="R1" IsChecked="True" Content="テスト" Margin="5,5,5,5"/> 3 <RadioButton Name="R2" Content="テスト" Margin="5,5,5,5"/> 4 <Button x:Name="B1" Content="テスト" Margin="2,2,2,2" Visibility="{Binding Path=IsChecked,ElementName=R1, Converter={StaticResource BoolVisibilityConverter}}"/> 5 <ListBox x:Name="L1" Margin="2,2,2,2" Background="#FFBCF2F8" Visibility="{Binding Path=IsChecked,ElementName=R1, Converter={StaticResource BoolVisibilityConverter}}"></ListBox> 6 <Label Content="Log" Margin="2,2,2,2"/> 7 <ListBox x:Name="R2" Margin="2,2,2,2" Background="#FFBCF2F8"></ListBox> 8 <Button x:Name="B2" Content="テスト" Margin="2,2,2,2"></Button> 9</StackPanel>
この際、ListBoxの高さをStackPanel内の余白いっぱいの高さに自動的に調整するにはどのようにすれば良いでしょうか?
このソースコードの場合、ListBoxが2つありますので、この2つが余白内で均等に余った高さを分配して表示するようにしたいです。
これまでは、StackPanelを使用せずに、
WPF
1<Grid.RowDefinitions> 2 <RowDefinition Height="Auto"></RowDefinition> 3 <RowDefinition Height="Auto"></RowDefinition> 4 <RowDefinition Height="Auto"></RowDefinition> 5 <RowDefinition></RowDefinition> 6 <RowDefinition Height="Auto"></RowDefinition> 7 <RowDefinition></RowDefinition> 8 <RowDefinition Height="Auto"></RowDefinition> 9</Grid.RowDefinitions>
このような形で<Grid.RowDefinitions>により設定していたのですが、RadioBoxのチェックの有無によって特定のListBoxやButtonを非表示にしたく、StackPanelに切り替えた状態となります。
回答1件
あなたの回答
tips
プレビュー