XAMLで始めるWPF入門:ListViewで自動的にスクロールバーを表示する。

コンピュータ

ウィンドウサイズを変更すると、自動的にスクロールバーが表示される設定

ソースコード

<Window x:Class="StackListV.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:StackListV"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>   <!-- TextBlockの高さ -->
            <RowDefinition Height="*"/>      <!-- ListViewが残り全部 -->
        </Grid.RowDefinitions>
        <TextBlock
            Grid.Row="0"
            FontSize="24"
            Margin="10"
            Text="くだもの" />
        <ListView
            Grid.Row="1"
            FontSize="20"
            Margin="10">
            <ListViewItem>みかん</ListViewItem>
            <ListViewItem>りんご</ListViewItem>
            <ListViewItem>パイナップル</ListViewItem>
            <ListViewItem>バナナ</ListViewItem>
            <ListViewItem>ぶどう</ListViewItem>
            <ListViewItem>もも</ListViewItem>
            <ListViewItem>スイカ</ListViewItem>
            <ListViewItem>メロン</ListViewItem>
        </ListView>
    </Grid>
</Window>

ListViewの高さを指定する必要があるらしいのですが、GridのRowDefinitionのHeightを”*”で高さを設定することでスクロールバーが表示されるようになりました。

実行イメージ

・起動時
image
・ウィンドウサイズを変更するとスクロールバーが表示された
image

image

コメント