MVVMモードを使用して、WPFキャンバスに任意の数の長方形を動的に追加します
長方形の要約を管理するために、これらのオブジェクトのコレクションを含むビューモデルを定義します。
ビューでは、itemsControlを使用して長方形のコレクションを視覚化します。
ビューモデルでバインド<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>
代替方法
<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>
この方法では、任意の数の長方形をWPFキャンバスに動的に追加し、データバウンドビューモデルを介してそれらを管理することで、MVVMアプリケーションの柔軟性とメンテナンスを改善できます。
以上がMVVMを使用してWPFキャンバスに複数の長方形を動的に追加する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。