1

当我设置它时,标准(SL4)SDK DatePicker似乎无法识别IsTabStop="False"。我知道有一个嵌入TextBox的输入System_Windows_Controls_Primitives:DatePickerTextBox,如果你深入到它的模板已经设置为IsTabStop="False"哪个令人困惑?

父模板有一个Setter声明模板,IsTabStop="False"所以我的问题是?为什么/如何会被忽略?

我尝试TemplateBindingIsTabStop有效的模板中使用...除了当您尝试通过+System_Windows_Controls_Primitives:DatePickerTextBox向后制表符时,它不会反向制表符?shifttab

所以我有点困惑......我什至试图通过Style TargetType实例上的声明来设置它,DatePicker.Resources并且似乎无法找到虫子。

有没有人遇到过这个?我很惊讶我以前没有,并且很想知道它的原因和/或解决方法。或者,如果这可能是这种情况的独特之处。谢谢!

PS - 我看到的只有其他解决方法适用于 WPF,与此问题无关。

4

1 回答 1

1

作为测试,我创建了一个新的 SL 5 项目(抱歉,没有安装 4)并删除了一个 TextBox、两个 DatePickers 和另一个 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 的代码。

格雷格

于 2013-08-23T15:13:09.613 回答