2011-04-28 30 views
14

我gettig以下錯誤時,我通過XAML添加自定義控件。可能的原因是什麼? 類型的值「...」不能被添加到一個集合或類型‘uielementcollection’類型「...」的值不能添加到'uielementcollection'類型的集合或字典

<Grid x:Name="QuantityDetail" DataContext="{StaticResource ViewModel}"> 
    <GroupBox> 
     ..... 
     <Label Style="{StaticResource ResourceKey=LabelValue}">Min</Label> 
     <!-- The following control --> 
     <NumericUpDow><NumericUpDown> 
     ..... 
    </GroupBox> 
</Grid> 
+0

你能告訴你如何定義IonNumericUpDow嗎? – ChrisWue 2011-04-28 08:08:53

回答

11

問題是我沒有在我的解決方案中引用一個dll(由numericupdown控件引用)。 其實NumericUpDown控件不是我的控件,它存在於不同的dll中。而這個控件正在引用System.Windows.Controls.Input.Toolkit.dll。現在我正在參考我的解決方案。而事情正在工作

+1

值得一提的是,設計人員將使用它代表設計的項目引用的DLL。這意味着,當解決方案編譯並運行完美時,通常會出現此錯誤 - 因爲即使不在您正在設計的項目中,由鏈中更高級項目引用的DLL也會出現。不過,通常這些引用是'PresentationCore','WindowsBase','System.Xaml'或偶爾的'WindowsFormsIntegration'中的一個或多個。 – tobriand 2017-03-01 18:16:38

1

編譯器聲稱你的控制不是一個UIElement的字典(我懷疑這是在撒謊) ,你的控制是從哪裏繼承的?

+0

問題現在解決了。實際上NumericUpDown控件不是我的控件,它存在於不同的dll中。而這個控件正在引用System.Windows.Controls.Input.Toolkit.dll。現在我正在參考我的解決方案。事情正在發揮作用。 – 2011-04-28 10:46:08

+0

但仍不確定爲什麼我需要添加對該dll的引用。因爲我不是那個直接使用該dll的人。 Infact NumericUpDown(存在於別人的其他DLL)正在使用System.Windows.Controls.Input.Toolkit.dll。 – 2011-04-28 10:51:39

+0

如果你的應用程序中沒有引用,那麼外部控件根本無法工作,它依賴於**。 – 2011-04-28 11:05:55

相關問題