“...”类型的值无法添加到“UIElementCollection”类型的集合或字典中

问题描述 投票:0回答:3

通过 XAML 添加自定义控件时出现以下错误。可能的原因是什么?

A value of type '...' cannot be added to a collection or dictionary of type 'UIElementCollection'

<Grid x:Name="QuantityDetail" DataContext="{StaticResource ViewModel}">
    <GroupBox>
       .....
       <Label Style="{StaticResource ResourceKey=LabelValue}">Min</Label>
       <!-- The following control -->
       <NumericUpDown></NumericUpDown>
       .....
    </GroupBox>
</Grid>
           
c# wpf xaml
3个回答
22
投票

问题是我的解决方案中没有引用一个 dll(由 numericupdown 控件引用)。 实际上NumericUpDown控件不是我的控件,它存在于不同的dll中。这个控件引用了System.Windows.Controls.Input.Toolkit.dll。现在我在我的解决方案中引用它。事情正在运作


6
投票

我在我们的项目中也遇到了这个智能问题(仍然可以构建),但没有外部控制。所以也许有人需要这个答案......

这里的“问题”是,UserControlXYZ.xaml 被声明为 但 UserControlXYZ.xaml.cs 并未继承自 UserControl。所以我必须在 xaml.cs 中添加 UserControlXYZ :UserControl (即使 Resharper 说基本类型已经指定并且可以删除)。


2
投票

编译器声称你的控件不是

UIElement
(我怀疑它在撒谎),你的控件继承自什么?

© www.soinside.com 2019 - 2024. All rights reserved.