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上尝试了TemplateBindingIsTabStop,该模板有效。。。除了当你试图通过shift+选项卡向后制表时,它不会反向制表吗?

所以我有点困惑。。。我甚至试图通过DatePicker.Resources在实例上通过Style TargetType声明来设置它,但似乎无法解决问题。

以前有人碰到过这个吗?我很惊讶我以前没有这样做过,我很想知道原因和/或解决方法。或者这可能是这种情况下特有的。谢谢

PS-我看到的其他解决方案都是针对WPF的,与这个问题无关。

SDK DatePicker IsTabStop Ignored

作为测试,我创建了一个新的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