-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