如何将自定义 UI 控制器添加为 WPF 资源字典文件中的目标类型

本文关键字:文件 字典 资源 类型 目标 WPF 自定义 UI 添加 控制器 | 更新日期: 2023-09-27 18:25:38

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
   <Style x:Key=CustomDataGrid" TargetType="{x:Type CusGrid}">
      <Setter Property="Background" Value="{StaticResource Red.Background}" />
   </Style>
</ResourceDictionary>

我已经创建了一个具有附加功能的自定义数据网格,我计划使用此资源字典文件对其进行样式设置。但是当我输入TargetType="{x:Type CusGrid}"时它会出错。我该如何解决这个问题?

如何将自定义 UI 控制器添加为 WPF 资源字典文件中的目标类型

需要向 XAML 中的根元素添加命名空间前缀

您的问题未指示自定义控件位于哪个 C# 命名空间中,因此我仅使用 XYZ 作为占位符。向 ResourceDictionary 元素添加新属性,如下所示:

<ResourceDictionary ... xmlns:mycontrols="clr-namespace:XYZ">

XYZ替换为 CusGrid 控件所在的实际命名空间。

接下来,将您的TargetType更改为以下内容:

... TargetType="{x:Type mycontrols:CusGrid}">

了解如何在CusGrid类型名称前面使用 mycontrols 命名空间前缀。

您可以将 mycontrols 更改为您想要的任何内容,只要您不使用已引用的前缀(例如,您不能使用 x 作为前缀(。