Rumah >pembangunan bahagian belakang >C++ >Bagaimana secara dinamik menambah beberapa segi empat tepat ke kanvas WPF menggunakan MVVM?
Gunakan mod MVVM untuk menambahkan secara dinamik bilangan segi empat tepat dalam kanvas WPF
Lihat Reka Bentuk Model
Lihat pelaksanaan
Dalam pandangan, gunakan itemControl untuk memvisualisasikan koleksi segi empat tepat:<code class="language-csharp">public class RectItem { public double X { get; set; } public double Y { get; set; } public double Width { get; set; } public double Height { get; set; } } public class ViewModel { public ObservableCollection<RectItem> RectItems { get; set; } }</code>
Property Itemtontrol's ItemsSource terikat kepada harta Rectitems dalam model View. Canvas.Left dan Canvas.Top sifat segi empat tepat ditetapkan ke atribut X dan Y dari objek rektum masing -masing melalui pengikatan data.
<code class="language-xml"><ItemsControl ItemsSource="{Binding RectItems}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Canvas /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemContainerStyle> <Style TargetType="FrameworkElement"> <Setter Property="Canvas.Left" Value="{Binding X}" /> <Setter Property="Canvas.Top" Value="{Binding Y}" /> </Style> </ItemsControl.ItemContainerStyle> <ItemsControl.ItemTemplate> <DataTemplate> <Rectangle Fill="Black" Height="{Binding Height}" Width="{Binding Width}" /> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl></code>
Atas ialah kandungan terperinci Bagaimana secara dinamik menambah beberapa segi empat tepat ke kanvas WPF menggunakan MVVM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!