<開発環境>
・Visual Studio WPF(.NET Framework C#)
・XAMLでGridにListBoxを書いています。
<やりたいこと>
このような画面
・ウィンドウの大きなに伴って、ListBoxも大きさが変わります。
・このListBoxにItem(テキストボックス)を追加していくと、垂直にリスト(列)が追加されます。
・リストがウィンドウからはみ出すとスクロールバーが出て、すべての項目を見ることができます。
<直面している問題>
ListBoxのHeightを"Auto"にし、ウィンドウに伴ってListBoxの大きさは可変しますが、いくらItemを追加して列数が増えてもスクロールバーが表示されません。
色々試すと、
・MaxHeightを超えたときにスクロールバーが出る模様
・ListBoxのプロパティであるScrollViewer.VerticalScrollBarVisibilityを"Visible"にしても、灰色の非有効なスクロールバーのまま
とうことまで分かりました。
<聞きたいこと>
どうすればちょうど画面からはみだしたときにスクロールバーが効くようになるでしょうか?
<コード>
【XAML】
<Grid>
<ListBox x:Name="cmd_ListBox" ItemsSource="{Binding Path=ListString}"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
Margin="5"
Width="Auto" Height="Auto"
MinWidth="400" MinHeight="400">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Text}" Margin="2" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
※c#側でItemsSourceに画面からはみ出る数のテキストを追加しています。
回答1件
あなたの回答
tips
プレビュー