En mode MVVM WPF, ajoutez le rectangle à Canvas
Solution
<.> 1. Indication abstraite:Créez un ViewModel, qui contient des représentations abstraites des listes rectangulaires, par exemple:
<.> 2. XAML signifie:
<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>
<.> 3. LIMINATION DES DONNÉES:
lier la collection
<code class="language-xml"><ItemsControl ItemsSource="{Binding RectItems}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Canvas /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemContainerStyle> <Style TargetType="ContentPresenter"> <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>
de . Cela générera automatiquement un rectangle à chaque élément de la collection.
<.> 4. Liaison de style (facultatif): RectItems
ItemsControl
Vous pouvez choisir d'utiliser des attributs de liaison de style ItemsSource
et
<.> 5. Schéma alternatif (pas de liaison de style):
Si le style est lié à votre environnement (comme UWP), vous pouvez utiliser la transformation de rendu dans le modèle rectangulaire: Canvas.Left
Canvas.Top
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!