ItemsControl ItemsSourceバインディングプロパティなしでCanvas Childrenプロパティを設定する手段はありますか?ItemsControl ItemsSourceバインディングプロパティを持たないCanvas Childrenプロパティを設定する
viewmodelから私のビューを分離するために、私はアイテムをバインドする必要があります。 私は、ドラッグ&ドロップのためにキャンバスを使用しています「CodeProjectの」
http://www.codeproject.com/KB/WPF/WPFDiagramDesigner_Part2.aspx
からデザイナーとしてのキャンバスを使用していました。私がキャンバスの中で手動で作業するときにうまく動作します。私が追加し
myCanvas.Children.Add(userControl);
myCanvas.Children.Remove(userControl);
を使用して子項目を削除しかし、私は、実行時に私のユーザーコントロールをロードした場合、彼らはちょうどビューとして読み込まれていることを意味 。
<s:Canvas AllowDrop="True" >
<ItemsControl Grid.Row="1" ItemsSource="{Binding Path=userControls}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<s:Canvas Background="Transparent"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<s:ControlItem Content="{Binding Path=MyView}"></s:ControlItem >
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Canvas.Left" Value="{Binding Path=X}" />
<Setter Property="Canvas.Top" Value="{Binding Path=Y}" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
</s:Canvas>
Children.Addについてどうですか? –
@HMO私の編集した答えを見てください – Rachel