gpt4 book ai didi

c# - UWP ListView 数据模板绑定(bind)

转载 作者:行者123 更新时间:2023-11-30 22:58:05 25 4
gpt4 key购买 nike

我的 View 模型

BookingTakerViewModel

有属性

public List<string> Vias {get;set;} 

我想将 ListView 与 DataTemplate 绑定(bind),但我不知道如何操作。这是我的代码,它在运行时抛出此错误:

 "Unable to cast object of type 'System.String' to type 'UI_Test_1.ViewModels.BookingTakerViewModel'."

我认为 x:DataType 应该引用该类,在本例中它是我的 Viewmodel。我认为 x:Bind Vias 是错误的,因为这是一个列表,所以不知道该怎么做。

<ListView
Name="viasList"
Width="300"
BorderBrush="Black"
BorderThickness="5"
ItemsSource="{x:Bind viewModel.Vias, Mode=OneWay}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="MinHeight" Value="1" />
<Setter Property="MaxHeight" Value="15" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate x:Name="dt" x:DataType="viewmodels:BookingTakerViewModel">
<Grid>
<TextBlock FontSize="14" Text="{x:Bind Vias, Mode=OneWay}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

Vias 是用数据实例化的,所以它不是导致 NullReference 异常的原因。我认为 XAML 不正确。

最佳答案

可能您正在寻找这样的东西?

<ListView.ItemTemplate>
<DataTemplate x:Name="dt" x:DataType="x:String">
<Grid>
<TextBlock FontSize="14" Text="{x:Bind}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>

在数据模板内部,{x:Bind} 的上下文是模板化对象,它是您在 ItemsSource 中设置的集合中的字符串项.

关于c# - UWP ListView 数据模板绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53237837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com