1
創建形狀(矩形,橢圓,線)到畫布中。然後我在另一個窗口中有一個列表視圖,我需要輸入形狀信息(比如位置,大小,形狀等)。將形狀信息添加到ListView創建時
我在XAML這個代碼在另一個窗口:
<ListView Name="Information">
<ListView.View>
<GridView>
<GridViewColumn Header="Type"/>
<GridViewColumn Header="PositionX"/>
<GridViewColumn Header="PositionY"/>
<GridViewColumn Header="Width" DisplayMemberBinding="{Binding ActualWidth}"/>
<GridViewColumn Header="Height" DisplayMemberBinding="{Binding ActualHeight}"/>
</GridView>
</ListView.View>
</ListView>
,並在主窗口的C#中,我有一個觀察的收集和驗證碼:
ObservableCollection<Shape> shapes = new ObservableCollection<Shape>();
myRect.Width = var1;
myRect.Height = var2;
Page.Children.Add(myRect);
Canvas.SetLeft(myRect, posx);
Canvas.SetTop(myRect, posy);
shapes.Add(myRect);
2ndwindow.Information.ItemsSource = shapes; // this is working because the 2ndwindow is owned by the mainwindow
編輯:我設法綁定寬度和高度,但我不知道如何綁定位置和它的形狀(矩形或橢圓形)
參見[這個答案](http://stackoverflow.com/a/22325266/ 1136211)瞭解如何在MVVM應用程序中使用矩形完成此操作。您可以通過聲明不同的形狀類型(類)併爲它們使用不同的DataTemplates來推廣它。 – Clemens