1

UserControls に追加する添付プロパティを作成しました。この添付プロパティにはバインディングが必要であり、このバインディングにはコンバーターが必要です。

リソースは UserControl 宣言の後に設定されるため、リソースの作成後に添付プロパティを宣言する方法を探しています。どうやってやるの?

たとえば、背景を静的リソースとして定義すると、コントロールの作成時に背景を設定できませんが、リソースの作成後に設定できます。

<UserControl ...
             ...
             ...>

<UserControl.Resources>
    background color declared
</UserControl.Resrouces>

<UserControl.Background>
    usage of the StaticResource here is valid.
</UserControl.Background>

したがって、通常は次のように定義する添付プロパティと同じにしたいと思います。

<UserControl xx:MyAttachedProperty.Bla="{Binding A}" >

しかし、コンバーターが必要なので、リソースの後に指定したいと思います。

それが明確であることを願っています。ありがとう。

4

2 に答える 2

1

Converterリソースとして 1 階層上のリソースとして定義することWindowApp、意図したとおりに使用することもできます。

さらに、共通リソースをアプリ レベルに移動するとre-usability、さまざまなユーザー コントロールが共有できる利点が得られます。コンバーターをApp.xaml-に移動します。

<App.Resources>
  <!-- Your converter here -->
</App.Resources>
于 2013-06-01T11:55:55.687 に答える