ホームページ > バックエンド開発 > C++ > MVVMパターンを使用してWPFアプリケーションに長方形を動的に表示するにはどうすればよいですか?

MVVMパターンを使用してWPFアプリケーションに長方形を動的に表示するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-29 17:26:13
オリジナル
363 人が閲覧しました

How can I dynamically display rectangles in a WPF application using the MVVM pattern?

MVVMモードを使用して、WPFアプリケーションに長方形を表示

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート