2011-10-19 10 views
4

カスタムWPFコントロールを作成し、XAMLファイルのStackPanelの内部に配置しようとしています。私はもともと、カスタムUserControlを作り、次のエラーメッセージました:StackPanel内にカスタムWPFコントロールを配置する

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

私はUIElementUserControlから私のカスタムコントロールを変更しようとしたが、私はまだこのメッセージが表示されます。 StackPanelの中に配置できるカスタムコントロールを作成するにはどうすればよいですか?

答えて

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> 

+1

これで動作します。デザイナーは嘘をついた。 –

6

再起動のVisual Studio。 XAMLデザイナーは、悪名高い敏感な獣です。

0

これは、別のコントロールクラスをサブクラス化していても、.xaml.csファイルがUserControlをサブクラス化している場合にも発生する可能性があります。

関連する問題