1

UserControlそれ自体から定義されたリソースにアクセスすることは可能ですか? どのように?

私はこれをやろうとしています:

<UserControl xmlns="all defined namespaces here..."
             Visibility="{Binding Show,FallbackValue=Hidden,
                 Converter={StaticResource BooleanToVisibility}}">
    <UserControl.Resources>
        <ResourceDictionary>
            <BooleanToVisibilityConverter x:Key="BooleanToVisibility" />
        </ResourceDictionary>
    </UserControl.Resources>
</UserControl>

、しかし、私はこのエラーが発生します:

「'System.Windows.StaticResourceExtension' に値を指定すると、例外がスローされました。」行番号 '11' および行位置 '9'。

4

1 に答える 1

3

おそらく順序を変更できます:

<UserControl.Resources>
    <ResourceDictionary>
        <BooleanToVisibilityConverter x:Key="BooleanToVisibility" />
    </ResourceDictionary>
</UserControl.Resources>
<UserControl.Visibility>
    <Binding Path="Show" FallbackValue="Hidden"
             Converter="{StaticResource BooleanToVisibility}"/>
</UserControl.Visibility>

Application.Resources複数の場所で一般的に使用されているため、コンバーターをに移動することもできます。その後、どこからでも参照できます。

于 2013-06-01T13:48:21.327 に答える