1

我创建了一个资源字典,其中包含组合框的控件模板。我已经使用 XamlWriter 提取了默认的组合框控件模板,并将该代码粘贴到我正在处理的这个资源字典中。只是研究我对控件模板的修改如何反映到控件本身。文件名为 Dictionary1.xaml。

是否可以在我的测试应用程序的每个组合框中使用该控件模板,而无需在 Xaml 中的每个组合框中键入它?我通常会设置组合框的 Style="{StaticResource ComboboxTesting}" 但如果我的更改能反映到我的测试应用程序中的每个组合框会很好。“ComboboxTesting”是我的资源字典中的关键。

我想出了这段代码,但它自然不起作用,因为我不知道在 Setter.Value 标记之间放置什么。

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Dictionary1.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
    <Style TargetType="ComboBox">
        <Setter Property="Style">
            <Setter.Value>
                <!-- Something here... -->
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>

谢谢,

J。

4

2 回答 2

0

尝试这个

<Window.Resources>
<ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="Dictionary1.xaml" />
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
<Style TargetType="ComboBox">
    <Setter Property="Background">
        <Setter.Value>
            <!-- Something here... -->
        </Setter.Value>
    </Setter>
</Style>

于 2014-05-13T11:15:02.803 回答
-1

尝试将 setter 属性更改为“样式”以外的任何其他内容,尝试将其更改为高度、宽度、颜色、字体或除 Style 之外的任何其他内容...。可能是因为您将父样式从子 setter 更改为...

于 2013-02-14T06:34:08.357 回答