我想使用绑定为窗口设置Background Brush
。问题是我需要访问Resource
来执行此操作,这意味着必须在Background
之后设置Resources
属性。
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../../Resources/Global.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Window.Style>
<StaticResource ResourceKey="Style.Dialog" />
</Window.Style>
<Window.Background>
<Binding Source="Severity" Converter="{StaticResource Converter.SeverityTypeToColor}" />
</Window.Background>
以上代码无效,我无法在线找到任何内容。
如何在Background
之后绑定Resources
?
答案 0 :(得分:0)
要设置Window背景,请使用DynamicResource绑定引用ColorBrush。快速测试以下,工作正常。确保与背景的绑定实际上是ColorBrush而不是Color。
<Window
.... skipping namespace and other references ...
Title="MainWindow"
Background="{DynamicResource MyBackgroundBrush}" >
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<!-- rest of the xaml -->
</Window>
答案 1 :(得分:0)
好的,事实证明这一切都是因为转换器传入了"Severity"
而不是Severity
属性的值。我将属性从Source
更改为Path
,然后就可以了。
e.g。
<Binding Path="Severity" Converter="{StaticResource Converter.SeverityTypeToColor}" />