我坚持使用UWP应用,我尝试使用{x:bind}而不是旧的WPF方法{binding name}来遵循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>
如您所见,我有2个DataTemplate:ListView.ItemTemplate内的汽车和自行车。
不确定是否相关:Cars.cs是从Bike.cs父级继承。
我真的不明白为什么UWP在ListView.ItemTemplate中不接受多个DataTemplate。因为我真的希望ListView显示尽可能多的数据。
在UWP和{x:bind}中解决此问题的方法是什么?