我正在使用自定义行为将列表视图项滚动到 ListView 的当前可见视图中:
<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>
问题是,正如这个问题中所描述的那样,列表视图项目失去了它们的显示定义(我猜是模板):
应用 ItemContainerStyle 时 ListView 失去 GridView 显示
但是,我不想重新定义 ListViewItem 的模板;即我想使用默认值,由 WPF 提供。