为ListViewItem应用默认样式,同时使用自定义行为
本文关键字:自定义 ListViewItem 应用 默认 样式 | 更新日期: 2023-09-27 18:07:44
我正在使用自定义行为滚动列表视图项目到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提供的默认值
你不能直接使用ScrollIntoView吗?然后聚焦。
listview.ScrollIntoView(listviewitem);
listviewitem.Focus();