【问题标题】:WPF ListView selected item visibleWPF ListView 所选项目可见
【发布时间】:2016-09-30 14:04:38
【问题描述】:

我有一个ListView,它的ItemsSourceObservableCollection 绑定。

 <ListView
     Name="ShapesList"
     ItemsSource="{Binding ChartViewModel.ShapeList}"
     Grid.Row="1"
     Margin="10,0,10,5"
     SelectionMode="Multiple">
     <ListView.View>
          <GridView>
                <GridView.Columns>
                     <GridViewColumn>
                           <GridViewColumn.CellTemplate>
                                 <DataTemplate>
                                       <CheckBox IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}, Path=DataContext.IsChecked, Mode=TwoWay}" Content="{Binding Path=Name, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}" />
                                   </DataTemplate>
                             </GridViewColumn.CellTemplate>
                       </GridViewColumn>
                       <GridViewColumn Header="PdC" DisplayMemberBinding="{Binding Name}" />      
               </GridView.Columns> 
             </GridView>
      </ListView.View>
  </ListView>

这个窗口有一个负责逻辑的模型:它计算ListView的选中项。我需要的是,当窗口打开时,ListView 的选中项是可见的。

我试过了

ShapesList.ScrollIntoView(ChartViewModel.GetIndexOfSelectedROI());

但它不起作用,即使该方法返回正确的索引。

提前感谢您的帮助!

【问题讨论】:

    标签: wpf listview selecteditem


    【解决方案1】:

    根据MSDN ListView.ScrollInToView 将您想要使其可见的对象作为其参数,而不是索引。

    【讨论】:

    • 这是真的! ShapesList.SelectedIndex = ChartViewModel.GetIndexOfSelectedROI(); ShapesList.ScrollIntoView(ShapesList.SelectedItem);解决了这个问题。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多