1

MSDN構造化ナビゲーションの例に従って、WPF ウィザード コントロールを作成しています。私の作業中の XAML は次のようになります。ここで、私のSystem.Windows.Navigation.PageFunctionWizardBase は のサブクラスであり、MyPageOne は WizardBase のサブクラスです (名前空間とクラス名はプライバシーのために変更されています)。

<local:WizardBase
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:My.Namespace" 
    x:Class="My.Namespace.MyPageOne"
    KeepAlive="True"
    WindowTitle="Page One">

これはうまく機能します。ウィザードでこのページに移動すると、ダイアログのタイトルが「ページ 1」に変わります。しかし今、私はその文字列を国際化したいと考えています。だから私はそれを次のように変更しました:

WindowTitle="{Binding Source={x:Static local:LocalizedStrings.PageOneTitle}}"

実行時に次のように失敗します。

'MyPageOne' 型の 'WindowTitle' プロパティに 'Binding' を設定することはできません。「Binding」は、DependencyObject の DependencyProperty でのみ設定できます。

設定できるがバインドできないという WindowTitle の特別な点は何ですか? 私はある種の初心者の間違いを犯したと仮定しています。

4

1 に答える 1

0

ああ、それは本当に簡単です。ただ欲しい:

WindowTitle="{x:Static local:LocalizedStrings.PageOneTitle}"

つまり、バインディングを介して適用するのではなく、直接設定します。複雑にしすぎた…

于 2013-10-08T21:39:52.047 に答える