【问题标题】:Windows 8 ListView SelectedIndex / SelectedItem (not scrolling)Windows 8 ListView SelectedIndex / SelectedItem(不滚动)
【发布时间】:2012-03-31 15:12:25
【问题描述】:

我有一个使用 XAML、C# 从模板创建的 Windows 8 Metro 应用程序。我需要导航到 SplitPage 并选择一篇文章。默认情况下,第一篇文章被选中(在右侧显示的 ListView 和内容中)。

我需要强制 SplitPage 选择并显示第 n 篇文章。当我使用 this.itemsViewSource.View.MoveCurrentToPosition(n) 时,ListView 中的所需项目被选中并显示数据,但 ListBox 不会滚动到第 n 个项目。

我尝试设置 ListView 的 SelectedItem、SelectedIndex 但没有任何效果。有什么帮助吗?

【问题讨论】:

  • 您找到解决方案了吗?

标签: c# xaml windows-8 microsoft-metro


【解决方案1】:

可以在ListView加载完成后调用ScrollIntoView(object item)方法滚动到当前选中的item。在尝试调用之前确保控件已加载。

private void itemListView_Loaded(object sender, RoutedEventArgs e)
{
    itemListView.ScrollIntoView(itemListView.SelectedItem);
}

【讨论】:

    【解决方案2】:

    【讨论】:

    • @Jonas 我完全同意,但这似乎是目前唯一的方法
    【解决方案3】:
    myListView.ScrollIntoView(myListView.SelectedItem, ScrollIntoViewAlignment.Leading);
    

    【讨论】:

      【解决方案4】:

      似乎是这样工作的:

              listView.ScrollIntoView(listView.SelectedItem);
              listView.UpdateLayout(); 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-21
        • 2012-01-31
        • 2016-09-25
        • 2013-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-05
        相关资源
        最近更新 更多