wpf 在劫持风格中使用StaticResource导致崩溃[关闭]

3b6akqbq  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(130)

**已关闭。**此问题需要debugging details。目前不接受回答。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
11天前关闭。
Improve this question
我正在使用xaml Toolkit中的materialDesign。我正在尝试为TimePicker设置样式以匹配我的主题。不幸的是,TimePicker无法设置提示背景,因此我需要劫持样式并以这种方式设置背景。如果我这样做:

<materialDesign:TimePicker.Resources>
    <SolidColorBrush x:Key="MaterialDesignPaper">#3c3c3c</SolidColorBrush>
    <Style x:Key="MaterialDesignTimePickerTextBox" TargetType="{x:Type materialDesign:TimePickerTextBox}" BasedOn="{StaticResource MaterialDesignTimePickerTextBox}">
        <Setter Property="materialDesign:HintAssist.Background" Value="{DynamicResource MaterialDesignPaper}" />
    </Style>
</materialDesign:TimePicker.Resources>

字符串
代码的工作原理和它应该的一样。但是一旦我把它改成这样:

<materialDesign:TimePicker.Resources>
    <SolidColorBrush x:Key="MaterialDesignPaper" Color="{StaticResource ThemedBackground}"/>
    <Style x:Key="MaterialDesignTimePickerTextBox" TargetType="{x:Type materialDesign:TimePickerTextBox}" BasedOn="{StaticResource MaterialDesignTimePickerTextBox}">
        <Setter Property="materialDesign:HintAssist.Background" Value="{DynamicResource MaterialDesignPaper}" />
    </Style>
</materialDesign:TimePicker.Resources>


我在加载View Set property 'System.Windows.Media.SolidColorBrush.Color' threw an exception. '#FF3C3C3C' is not a valid value for property 'Color'.时收到以下错误为什么会发生这种情况,我如何修复它?

v8wbuo2f

v8wbuo2f1#

ThemedBackground显然不是Color,但可能是Brush。在这种情况下,您可以尝试以下操作:

<SolidColorBrush x:Key="MaterialDesignPaper" Color="{Binding Color,
    Source={StaticResource ThemedBackground}}"/>

字符串
假设ThemedBackground资源在作用域中,它应该可以工作。

相关问题