我在 WPF 中创建了这个用户控件
<UserControl x:Class="WpfApp1.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApp1"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<UserControl.Template>
<ControlTemplate TargetType="{x:Type local:UserControl1}">
<Grid x:Name="LayoutRoot" Background="White" Margin="7,7,7,0">
</Grid>
</ControlTemplate>
</UserControl.Template>
最佳答案
该错误很可能仅在您打开 XAML 编辑器时出现,对吗?这是因为这是 XAML 设计器问题,而不是 WPF 或 .NET 问题。这就是为什么它在运行时运行良好,但在 Visual Studio 中显示错误的原因。
我遇到了类似的问题,因为 XAML 设计器也不支持 ControlTemplates 上的多态(模板的 TargetType="baseclass",但适用于派生类) - 但这也适用于运行时。
主要的解决方法是不使用 XAML 定义自定义控件。相反,创建一个模板化控件,其中模板由外部样式资源选择。见 http://mrbool.com/how-to-create-a-custom-control-in-xaml-and-c/26447想要查询更多的信息。
关于wpf - ControlTemplate TargetType 与模板化类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44226922/
在 WPF 中,您可以设置 TargetType到类型的名称,或者您可以将其设置为 {x:Type nameOfType} . 有谁知道有什么区别? 最佳答案 没有。由于属性类型是 Type ,XAM
有什么区别 TargetType="{x:Type Button}" 和 TargetType="Button" 最佳答案 XAML 设计器应用内置类型转换器,将字符串值“Button”转换为 Sys
我为Button的TargetType定义了一个简单的buttonStyle;但将样式设置为按钮会产生异常(exception)。
我在 WPF 中创建了这个用户控件 当我编译这个时,我收到以下错误。 “UserControl1” ControlTemplate Tar
以下 TargetType 规范之间有什么区别? 1.