【问题标题】:How to set focus programmatic on gridview item?如何在gridview项目上设置焦点编程?
【发布时间】:2019-06-04 17:40:51
【问题描述】:

我的主页有一个ListView,其中包含许多GridView(启用一行)。 现在我可以使用键盘left/right/up/down 设置焦点。但是当输入一个item时(我用一个全局变量来存储这个item),导航到另一个页面,再往回导航,我无法设置之前的GridViewitem的焦点。

protected override async void OnNavigatedTo(NavigationEventArgs e)
{
    if (e.NavigationMode == NavigationMode.Back)
    {
        //Set last focus, if no focus, banner get the focus.              
        if (Globals.gridViewItemFocused == null)
            banner.Focus(FocusState.Pointer);
        else
        {
            list.UpdateLayout();

            Globals.gridViewItemFocused.Focus(FocusState.Programmatic);
            Globals.gridViewItemFocused.IsSelected = true;
            Globals.gridViewItemFocused.StartBringIntoView();
        }
    }

    base.OnNavigatedTo(e);
}

【问题讨论】:

  • 将焦点设置在 GridViewItem 类型的变量上不起作用。您需要根据您的变量设置 GridView 控件的 SelectedItem 或 SelectedIndex。
  • 谢谢,知道了。 @Xavier Xie - MSFT 你可以移动这个评论来回答吗?

标签: c# xaml uwp uwp-xaml


【解决方案1】:

将焦点设置在 GridViewItem 类型的变量上将不起作用。您需要根据您的变量设置您的 GridView 控件的 SelectedItem 或 SelectedIndex。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-26
    • 2020-02-15
    • 1970-01-01
    • 2012-07-29
    • 2012-11-21
    • 2019-03-29
    • 2019-10-12
    • 1970-01-01
    相关资源
    最近更新 更多