C# 如何在UWP ListView中拥有多个数据模板(x:bind)
我被我的UWP应用程序卡住了,我试图用{x:bind}来遵循MVVM原则,而不是旧的WPF方式{binding name} 但我的想法/开发一直在坚持,我正在尝试在ListView(或GridView)中插入多个数据模板 我想这样做作为一个例子:C# 如何在UWP ListView中拥有多个数据模板(x:bind),c#,xaml,uwp,xbind,C#,Xaml,Uwp,Xbind,我被我的UWP应用程序卡住了,我试图用{x:bind}来遵循MVVM原则,而不是旧的WPF方式{binding name} 但我的想法/开发一直在坚持,我正在尝试在ListView(或GridView)中插入多个数据模板 我想这样做作为一个例子: <ListView.ItemTemplate> <DataTemplate x:DataType="localModels:Cars">
<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.cs继承自Bike.cs父项
我真的不明白为什么UWP在ListView.ItemTemplate中不接受超过1个DataTemplate。因为我真的希望我的ListView显示尽可能多的数据
在UWP和{x:bind}中,解决这个问题的方法是什么?您可以使用确定应根据数据类型选择哪个数据模板。你可以找到一个例子。谢谢!你认为我应该把DataTemplate类放在哪里?在视图中还是其他地方?您是指DataTemplate资源?如果你想在其他地方重复使用它们,那么你可以将它们放在App.Resources中,否则我会将它们放在最近的使用位置。