我正在尝试创建自定义WPF控件并将其放在我的XAML文件中的StackPanel
内。我最初制作了自定义UserControl
并收到以下错误消息:
A value of type 'CustomControl' cannot be added to a collection or dictionary of type 'UIElementCollection'.
我尝试将自定义控件从UserControl
更改为UIElement
,但我仍然收到此消息。如何制作可以放在StackPanel
内的自定义控件?
答案 0 :(得分:6)
重新启动Visual Studio。 XAML设计师是一个臭名昭着的敏感野兽。
答案 1 :(得分:3)
您是如何创建CustomControl的?确保它继承自UserControl。
我刚创建了一个名为“TestProj”的新项目 - 右键单击解决方案资源管理器Add => UserControl并将其命名为CustomControl。
我可以通过以下代码插入它:
<Window x:Class="TestProj.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:TestProj"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel>
<local:CustomControl/>
</StackPanel>
</Grid>
答案 2 :(得分:0)
如果你继承了另一个控件类,但你的.xaml.cs文件仍在继承UserControl,也会发生这种情况。