Utilisez le mode MVVM pour ajouter dynamiquement n'importe quel nombre de rectangles dans le canevas WPF
Affichage de la conception du modèle
Afficher l'implémentation
Dans la vue, utilisez des éléments Control pour visualiser la collection rectangulaire:<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>
La propriété ItemsSource des éléments Control est liée à la propriété RECTEMS dans le modèle de vue. Les propriétés rectangulaires Canvas.Left et Canvas.Top sont définies sur les attributs x et y de leurs objets rectisem respectifs par liaison des données.
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!