【发布时间】:2012-10-15 00:22:46
【问题描述】:
我试图让用户通过在点击和拖动时收集点来在画布上绘图。我正在使用 MVVM 方法,并且可以成功收集点,并在视图模型上填充一组线。但是,我需要能够在画布上显示这些线条控件,以便用户可以看到他们正在绘制的线条。
我的问题是,如何将 Line 控件的 View Models 集合数据绑定到画布的 Children 集合?
【问题讨论】:
标签: windows-phone-7 data-binding mvvm
我试图让用户通过在点击和拖动时收集点来在画布上绘图。我正在使用 MVVM 方法,并且可以成功收集点,并在视图模型上填充一组线。但是,我需要能够在画布上显示这些线条控件,以便用户可以看到他们正在绘制的线条。
我的问题是,如何将 Line 控件的 View Models 集合数据绑定到画布的 Children 集合?
【问题讨论】:
标签: windows-phone-7 data-binding mvvm
这可以使用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>
【讨论】: