--- lang: ja-jp breaks: true --- # WPF `ListBox` の `ItemsPresenter` が `ScrollViewer` の直接の子でない場合は、`x:Name` に "ItemsPresenter" という名前を付ける必要がある。 2022-06-27 > ListBox パーツ > https://docs.microsoft.com/ja-jp/dotnet/desktop/wpf/controls/listbox-styles-and-templates?view=netframeworkdesktop-4.8#listbox-parts ## "ItemsPresenter" という名前をつけなかった場合、PageUp、PageDownイベントが正常に動作しない 以下、は問題ない。 ```xaml= <ScrollViewer Padding="{TemplateBinding Padding}" Focusable="false" > <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> </ScrollViewer> ``` 以下はダメ!! ```xaml= <ScrollViewer Padding="{TemplateBinding Padding}" Focusable="false" > <Grid> <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> </Grid> </ScrollViewer> ``` 以下のように `x:Name="ItemsPresenter"` を付加する必要がある。 ```xaml= <ScrollViewer Padding="{TemplateBinding Padding}" Focusable="false" > <Grid> <ItemsPresenter x:Name="ItemsPresenter" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> </Grid> </ScrollViewer> ``` ###### tags: `WPF` `ListBox` `ItemsPresenter` `ScrollViewer`