1

標準 (SL4) SDKのDatePickerは、設定したときに認識しないようですIsTabStop="False"。テンプレートにドリルダウンすると、すでに混乱しているとして設定されTextBoxている入力用の埋め込みがあることは承知しています。System_Windows_Controls_Primitives:DatePickerTextBoxIsTabStop="False"

親テンプレートにはテンプレートのSetter宣言があるIsTabStop="False"ので、私の質問は? なぜ/どのように無視されるのでしょうか?

私は機能するテンプレートで試しTemplateBindingてみました... +を介して後方にタ​​ブ移動しようとすると、逆にタブ移動しないという事実を除いて?IsTabStopSystem_Windows_Controls_Primitives:DatePickerTextBoxshifttab

だから私は少し混乱しています...Style TargetTypeインスタンスの宣言を介して設定しようとしDatePicker.Resourcesましたが、バガーに到達できないようです。

誰もこれに遭遇したことがありますか?今まで経験したことのないことに非常に驚いており、その理由や回避策を知りたいと思っています。または、おそらくこのシナリオに固有のものである場合. ありがとう!

PS - 私が見た他の回避策は WPF 用であり、この問題には関係ありません。

4

1 に答える 1

1

テストとして、新しい SL 5 プロジェクトを作成し (申し訳ありませんが、4 をインストールしていません)、TextBox、Two 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 は、DatePickerTextBox にバインドする必要がある SDK にコードが欠落しているという理由だけで、既定のテンプレートによって無視されます。

グレッグ

于 2013-08-23T15:13:09.613 に答える