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!