XAML のリソースにバインドするプロパティを持つユーザー コントロールがある場合、通常、コントロールまたはコントロールを含むウィンドウにそのバインドを設定します。例えば:
<local:MyNeatControl MyProperty="{StaticResource ...}" />
これにより、MyNeatControl オブジェクトのインスタンスの MyProperty プロパティが親コントロールのリソースに設定されます。
しかし、ウィンドウがあり、そのプロパティの 1 つを独自のリソースの 1 つにバインドしたい場合はどうすればよいでしょうか? コードで行うのは簡単です:
public MainWindow()
{
this.Loaded += new RoutedEventHandler(this.MainWindow_Loaded);
...
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
this.MyProperty = this.Resources["MyProperty"] as MyProperty;
...
}
しかし、これは私を悩ませます。コードでプロパティを設定するよりも、XAML でプロパティをバインドしたいと思います。
どうすればいいのですか?MyProperty 宣言を属性として要素に追加しようとしました。しかし、私はエラーが発生します:
The property 'MyProperty' was not found in type 'Window'.
私が見逃している簡単なものはありますか?