WPFアプリケーションでは、データに従って一連の長方形を動的に追加する必要がある場合があります。これは、Model-View-View Model(MVVM)モードで実装できます。
オブジェクトで示された抽象の長方形のコレクションを含むビューモデルを検討してください:
RectItem
<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; } }</code>
<code class="language-csharp">public class ViewModel { public ObservableCollection<RectItem> RectItems { get; set; } = new ObservableCollection<RectItem>(); }</code>
を使用してCanvas
を使用できます。
ItemsPanel
ItemsControl
別の方法は、スタイルセッターでバインディングする代わりに
<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>
これらのテクノロジーを使用することにより、ビューモデルに保存されたデータに基づいて一連の長方形を動的に表示して、柔軟で迅速な応答ユーザーインターフェイスを提供します。 両方の方法は、動的な長方形ディスプレイを効果的に実現でき、特定のニーズに応じてより適切なディスプレイを選択できます。 RenderTransform
以上がMVVMパターンを使用してWPFアプリケーションに長方形を動的に表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。