SDK DatePicker IsTabStop Ignored
本文关键字:Ignored IsTabStop DatePicker SDK | 更新日期: 2023-09-27 18:28:27
Standard(SL4)SDK DatePicker似乎无法识别我何时在其上设置IsTabStop="False"
。我知道输入有一个嵌入的TextBox
作为System_Windows_Controls_Primitives:DatePickerTextBox
,如果深入到它的模板,它已经设置为IsTabStop="False"
,这会令人困惑吗?
父模板有一个Setter
,它将模板声明为IsTabStop="False"
,所以我的问题是?为什么/如何忽略它?
我在模板中的System_Windows_Controls_Primitives:DatePickerTextBox
上尝试了TemplateBinding
到IsTabStop
,该模板有效。。。除了当你试图通过shift+选项卡向后制表时,它不会反向制表吗?
所以我有点困惑。。。我甚至试图通过DatePicker.Resources
在实例上通过Style
TargetType
声明来设置它,但似乎无法解决问题。
以前有人碰到过这个吗?我很惊讶我以前没有这样做过,我很想知道原因和/或解决方法。或者这可能是这种情况下特有的。谢谢
PS-我看到的其他解决方案都是针对WPF的,与这个问题无关。
作为测试,我创建了一个新的SL 5项目(抱歉,没有安装4个),并删除了一个TextBox、两个DatePicker和另一个TextBox,这样我就可以看到选项卡操作。
然后,我在第一个DatePicker上将IsTabStop设置为False,就像你说的,它被忽略了。
然后我复制了模板,找到DatePickerTextBox并添加了IsTabStop="False",然后再次运行它。
然后,它在向前或向后切换时跳过DatePicker。所以这应该对你有用。
<Primitives:DatePickerTextBox x:Name="TextBox"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
IsTabStop="False"
Background="{TemplateBinding Background}"
Grid.Column="0"
Padding="{TemplateBinding Padding}"
SelectionBackground="{TemplateBinding SelectionBackground}" />
IsTabStop被默认模板忽略,只是因为SDK中缺少应将其绑定到DatePickerTextBox的代码。
Greg