1

MVVM で WPF を使用して POS アプリケーションを構築しています。

機能の 1 つは、画面上にグリッド/パネルがあり、たとえば 10 x 10 ボタン、たとえば在庫アイテムごとに 1 つのボタンがあることです。

私がする必要があるのは、ユーザーが新しいレイアウトを作成したり、新しいボタンを追加したりボタンを削除したりできる既存のレイアウトを編集できるようにすることです..

したがって、理論的には、ユーザーはさまざまなレイアウトを選択して画面に表示できます。

各ボタンはデータベース内の在庫商品にリンクされ、色、テキスト、画像などのプロパティを持ちます.

したがって、ユーザー コントロールを 10 x 10 ボタンに設定するか、Uniform Grid を使用すると、ボタンのコレクションにバインドできると考えています。また、各レイアウトの各レイアウト ボタンを XML として保存し、これを読み取って何らかのコレクションを作成し、それをグリッドにバインドすることも考えていました。

たとえば、ユーザーは、10 の異なる画面/グリッド レイアウトから選択することができます。各レイアウトには、異なる位置にある、または異なるテキストなどを持つ独自のボタン セットがあります。

私の質問は、これがボタンとレイアウトを XML として保存するための最良の方法ですか? また、グリッド/均一グリッドをボタンのコレクションに直接バインドするにはどうすればよいですか?

どうもありがとう

4

1 に答える 1

2

全体的なアプローチは私にはうまく見えます。ボタン コレクションをグリッドにバインドする場合はItemsControl、カスタムItemsPanelテンプレートを使用できます。

    <ItemsControl ItemsSource="{Binding Buttons}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <UniformGrid Rows="10" Columns="10" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button>
                    <!-- bind button color, content, etc -->
                </Button>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
于 2012-08-17T13:04:08.800 に答える