2

UWP アプリに行き詰まっています。古い WPF の方法 {バインディング名} ではなく、{x:bind} を使用して MVVM の原則に従おうとしています。

しかし、私は自分のアイデア/開発に行き詰まっています.ListView(またはGridView)内に複数のDataTemplatesを挿入しようとしています.

例として次のようなことをしたい:

            <ListView.ItemTemplate>
                <DataTemplate x:DataType="localModels:Cars">
                    <StackPanel Orientation="Vertical">
                        <StackPanel Orientation="Vertical">
                            <TextBlock Text="Name:" />
                            <TextBox Text="{x:Bind Name}" />
                        </StackPanel>
                    </StackPanel>
                </DataTemplate>
                <!-- Here is the second DataTemplate which isn't allowed in UWP -->
               <DataTemplate x:DataType="localModels:Bikes">
                    <StackPanel Orientation="Vertical">
                        <StackPanel Orientation="Vertical">
                            <TextBlock Text="Name:" />
                            <TextBox Text="{x:Bind Name}" />
                        </StackPanel>
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>

ご覧のとおり、ListView.ItemTemplate 内に Cars と Bikes という 2 つの DataTemplate があります。

これが関連しているかどうかわからない: Cars.cs は Bike.cs の親から継承しています。

UWP が ListView.ItemTemplate 内で複数の DataTemplate を受け入れない理由がよくわかりません。ListView にできるだけ多くの種類のデータを表示したいからです。

UWP と {x:bind} でこの問題を解決するにはどうすればよいですか?

4

1 に答える 1