C++ 禁用轴上的焦点
我想在C++ 禁用轴上的焦点,c++,uwp,C++,Uwp,我想在Pivot控件上禁用选项卡导航,因为我的控件已经在处理选项卡。我已经尝试过很多方法,比如设置IsTabStop=false和移除像这样的GotFocus事件的焦点 mPivot->GotFocus += ref new RoutedEventHandler([](Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { mPivot->Focus(Windows::UI::Xaml::FocusStat
Pivot
控件上禁用选项卡导航,因为我的控件已经在处理选项卡。我已经尝试过很多方法,比如设置IsTabStop=false
和移除像这样的GotFocus
事件的焦点
mPivot->GotFocus += ref new RoutedEventHandler([](Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { mPivot->Focus(Windows::UI::Xaml::FocusState::Unfocused); });
但这会导致参数不正确的崩溃。官方的做法应该是什么?另外,如何为列表视图
实现类似的功能
编辑:我找到了一种骇人的方法来修复崩溃:我应该人为地把注意力放在我的控制上,而不是在轴上强制不聚焦
mPivot->GotFocus += ref new RoutedEventHandler([](Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
mControl->Focus(Windows::UI::Xaml::FocusState::Programmatic);
});
要完全禁用透视
上的选项卡导航,您需要在透视
样式中禁用一个名为HeaderClipper
的特殊元素
去抓取默认的Pivot
样式,找到HeaderClipper
元素并在其上设置IsTabStop=“False”
注意:如果透视图中有设置为接收焦点的控件(即IsTabStop=“True”
),它们仍然可以。如果您不希望出现这种行为,只需将IsTabStop
设置为False
即可禁用它们。您是否试图删除焦点透视项目标题下的下划线?@JustinXL不仅仅是这样。我想要的是,当我按下Tab键时,系统不应该(从已经在KeyDown
上处理Tab的自定义控件中移除焦点)聚焦在Pivot
上。