-1
我是一个绝对的新手,C#,查看,WPF和MVVM,我并试图建立一个画布中,我可以添加基于可观察总汇的点x和y点坐标。我创建了custome用户控制,这是我的视图模型: 我不明白的结合如何在我的视图模型的数据绑定到我的看法。进一步来说。加圆(点)从的ObservableCollection帆布使用MVVM
public class ViewModel : INotifyPropertyChanged
{ 公共事件PropertyChangedEventHandler的PropertyChanged;
public ViewModel()
{
points = new ObservableCollection<Point>();
this.testData();
}
public ObservableCollection<Point> points { get; set; }
private void testData()
{
points.Add(new Point(0, 50));
points.Add(new Point(50, 0));
points.Add(new Point(13, 73));
points.Add(new Point(12, 23));
points.Add(new Point(34, 80));
points.Add(new Point(322, 225));
points.Add(new Point(270, 510));
points.Add(new Point(0, 0));
}
}
这是我对我的view.xaml
<Canvas>
<local:UserControl2 />
</Canvas>
和我的用户控制
public partial class UserControl2 : UserControl
{
public UserControl2()
{
InitializeComponent();
this. DataContext = new ViewModel();
}
}
这部分现在的工作,它是在画布上没有圆圈/点上显示的位置。我加了一些修改我view.xaml –
这个答案细节究竟它是如何工作http://stackoverflow.com/a/1030191/1228类似的问题http://stackoverflow.com/questions/2317713/binding-wpf-canvas-孩子到一个-的ObservableCollection和http://stackoverflow.com/questions/3135438/binding-to-canvas如果你绑定到一个集合,控制需要显示的东西每样东西的集合中,你需要使用ItemsControl。面板保存所创建的项目,并且您可以使用DataTemplates来控制每个项目的构建方式。这是基本模式。 – Will