【发布时间】:2011-07-02 00:36:27
【问题描述】:
我很难处理一些本应是微不足道的事情。我只想从 UserControl 上的选项卡顺序中删除几个按钮。我尝试将IsTabStop="False" 和KeyboardNavigation.IsTabStop="False" 属性添加到他们的xaml 声明中,并在UserControl 的Loaded 事件处理程序中设置myButton.IsTabStop = false;。这些添加都没有任何效果,我仍然可以标签到我这样做的控件。
在 xaml 中设置 TabIndex 可以正常工作。如果这可能会有所不同,则 UserControl 将显示在 WPFElementHost 中。我的另一个想法是我可能需要为所有其他控件指定 TabIndex,但我还没有在任何地方阅读过,如果可能的话,我宁愿不明确说明这一点。有没有人猜测可能出了什么问题?
【问题讨论】:
-
设置
Focusable="False"有什么不同吗? -
通常 IsTabStop 工作正常,没有 ElementHost
-
好主意,但
Focusable="False"并没有改变行为。我仍然可以选择有问题的按钮。另外,我尝试将它与IsTabStop="False"属性结合使用,以及单独使用它。 -
所以我意识到我试图从标签顺序中删除的按钮实际上是嵌套在自定义 UserControls 中的按钮,所以我设置了 UserControls 的 IsTabStop 属性,但内部按钮不知道的变化。这解决了部分问题,但我仍然无法从选项卡顺序中删除几个 ListBox - 他们忽略了我的尝试。
-
类似场景:
ListBox。虽然为空,但.IsTabStop=false足以将其从制表符序列中排除。一旦分配了它的.ItemsSource,它就会被包括在内。然后数据被重置,不按顺序;然后再次设置数据 - 它在里面。一次又一次..另外设置.Focusable=false没有效果。