是否可以从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”。
答案 0 :(得分: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
,因为它常用于多个地方,然后可以在任何地方引用它。