【WPF】给UserControl引入多个资源

问题:为了方便资源的复用,我们通常会把资源单独抽取为一个资源文件,供其他文件引用。而用户自定义控件UserControl中经常需要引入多个资源文件。而在XAML中由于标签UserControl.Resources内仅可以包含一个Content子元素。

所以为了给UserControl引入多个资源,XAML中应该这么写:

<UserControl
    x:Class="HomeDecorationPSD.Presentation.Views.UiWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:local="clr-namespace:HomeDecorationPSD.Presentation.Views"
    mc:Ignorable="d"
    xmlns:system="clr-namespace:System;assembly=mscorlib"       
    >
    <!-- 引入多份资源 -->
    <UserControl.Resources>
        <ResourceDictionary><!-- 重点:需要使用这个标签来包含多个内容 -->
            <!-- 资源1:来自系统类 -->
            <system:Double x:Key="TabItemWidth">80</system:Double>
            <!-- 资源2:字典类的资源 -->
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/Presentation/Resources/ColorResources.xaml"></ResourceDictionary><!-- 项目工程的相对路径 -->
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </UserControl.Resources>


    <!-- 接下来使用资源 -->


</UserControl>
原文地址:https://www.cnblogs.com/sjqq/p/8495209.html