ユーザーがキャンバスに描画できるようにしようとしていますタップしてドラッグするときにポイントを収集します。私はMVVMアプローチを使用しており、ポイントを正常に収集し、ビューモデルにラインのコレクションを追加できます。ただし、ユーザーが描画しているラインを表示できるように、これらのラインコントロールをキャンバスに表示できる必要があります。
私の質問は、LineコントロールのView ModelsコレクションをキャンバスのChildrenコレクションにデータバインドするにはどうすればよいですか?
回答:
回答№1は1これは、 ItemsControl
:
<ItemsControl ItemsSource="{Binding CollectionOfLines}">
<!-- specify the panel that the items will be added to -->
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Line X="{Binding ...}" Y="{Binding ...}" .../>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>