我有以下XAML摘录:如何防止TextBlock中从得到的自动对焦
<SplitView Name="Menu" DisplayMode="CompactOverlay" OpenPaneLength="200" CompactPaneLength="0" Grid.RowSpan="2">
<SplitView.Pane>
<StackPanel>
<AutoSuggestBox Margin="0,20,0,20" Width="170" PlaceholderText="Search" QueryIcon="Find"></AutoSuggestBox>
<ListBox>
<ListBoxItem Tapped="Projects_Tapped">
<StackPanel Orientation="Horizontal">
<SymbolIcon Symbol="Library" />
<TextBlock Margin="10,0,0,0">Projects</TextBlock>
</StackPanel>
</ListBoxItem>
[....]
</ListBox>
</StackPanel>
</SplitView.Pane>
</SplitView>
基本上,这SPLITVIEW被压实,直到用户按下一个按钮,然后设置IsPaneOpen
为真,这又显示了我应用菜单。
问题是,我在菜单中的第一件事是搜索框,似乎无论我做什么都会自动聚焦。事实上,它有重点,然后在手机上提供触摸键盘,这是非常恼人的,并隐藏大部分菜单在小型手机上。
我试着玩TabIndex
属性来给它一个巨大的数字,甚至把一个较低的索引为别的东西。
我也尝试将IsTabStop
设置为false,但这似乎并没有做任何事情。
有没有一种干净的方法来防止盒子自动获得焦点? (除了禁用/隐藏元素,然后再启用/显示它)
虽然这个解决方案对我有用,但我更喜欢Elvis的回答,因为我觉得它更干净。我试图避免C#代码.. –