0

ListView の現在表示されているビューにリスト ビュー アイテムをスクロールするためのカスタム動作を使用しています。

mvvm リスト ビュー内の新しいアイテムにリスト ビューを自動スクロールする方法

<UserControl.Resources>
    <Style x:Key="ListBoxItemContainerStyle" TargetType="{x:Type ListBoxItem}"
        BasedOn="{StaticResource {x:Type ListBoxItem}}">
        <Setter Property="localBehaviors:ListBoxItemBehavior.IsBroughtIntoViewWhenSelected" Value="true"/>
    </Style>
</UserControl.Resources>

<!-- using Caliburn.Micro's conventions to bind ItemsSource -->
<ListView x:Name="Items" ItemContainerStyle="{StaticResource ListBoxItemContainerStyle}"
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Column #1" DisplayMemberBinding="{Binding ValueOfColumnOne}" />
            <!-- the rest of columns are defined here using DisplayMemberBinding or GridViewColumn.CellTemplate -->
        </GridView
    </ListView.View>
</ListView>

問題は、SO に関するこの質問で説明されているように、リスト ビュー アイテムの表示定義が失われることです (テンプレートだと思います)。

ItemContainerStyle を適用すると ListView が GridView の表示を失う

ただし、ListViewItem のテンプレートを再定義したくありません。つまり、WPF が提供するデフォルトを使用したいのです。

4

1 に答える 1