選択したアイテムのサイズに応じて ComboBox のサイズが変更されないようにしたい。次の簡単な例を考えてみましょう。
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="150" Width="300">
<GroupBox Header="Group Header" Margin="5">
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ComboBox MinWidth="100" Grid.Column="0" Margin="5" MaxWidth="150"/>
<ComboBox Grid.Column="1" Margin="5" MinWidth="110">
<ComboBoxItem Content="Very loooooooooooooooooooooooooooooooooooooooong text"/>
<ComboBoxItem Content="Normal text"/>
</ComboBox>
</Grid>
</ScrollViewer>
</GroupBox>
</Window>
2 番目の ComboBox で最初のアイテムを選択すると、その ComboBox が展開され、選択したアイテムのコンテンツ全体が収まるようになり、左側の ComboBox が非表示になります。
私は次の3つのことを達成したいと考えています。
- コントロールが最小サイズに収まるようにスクロールビューアを用意する
- Window が非常に大きい場合、2 番目の ComboBox を残りのサイズに合わせたい
- 2 番目の ComboBox で非常に長いアイテムを選択した場合、そのサイズを保持し、選択したアイテムの内容に合わせて調整しないようにしたい
出来ますか?