我想在 Pivot
控件上禁用选项卡导航,因为我的控件已经在处理选项卡。我尝试了很多方法,例如设置 IsTabStop=false
和像这样取消对 GotFocus
事件的关注
mPivot->GotFocus += ref new RoutedEventHandler([](Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { mPivot->Focus(Windows::UI::Xaml::FocusState::Unfocused); });
但这会导致崩溃,参数不正确。这样做的官方方法应该是什么?另外,如何为
ListView
实现类似的东西?编辑:我找到了一种解决崩溃的黑客方法:我应该人为地将注意力集中在我的控制上,而不是在
Unfocused
上强制使用 Pivot
。mPivot->GotFocus += ref new RoutedEventHandler([](Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
mControl->Focus(Windows::UI::Xaml::FocusState::Programmatic);
});
最佳答案
要完全禁用 Pivot
上的选项卡导航,您需要在 HeaderClipper
样式中禁用一个名为 Pivot
的特殊元素。
获取默认的 Pivot
样式 here ,找到 HeaderClipper
元素并在其上设置 IsTabStop="False"
。
请注意,如果您的 Pivot
中有设置为接收焦点的控件(即 IsTabStop="True"
),它们仍然可以。如果您不想要这种行为,只需通过将 IsTabStop
设置为 False
来禁用它们。
关于c++ - 禁用对 Pivot 的关注,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45261258/