ListView SelectedItem未在使用模板10 UWP的MVVM应用程序中激发
本文关键字:MVVM UWP 应用程序 SelectedItem ListView | 更新日期: 2023-09-27 18:29:35
我有这个XAML。。。
<ListView ItemsSource="{Binding AllRoundIDs}" Height="96"
SelectedItem="{Binding AllRoundsSelectedItem, Mode=TwoWay}"
SelectionMode="Single"
>
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Key}" FontSize="30" Foreground="White" Padding="0,0,0,1" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我的ViewModel中的这段代码。。。
private ObservableCollection<KeyValuePairs> _AllRoundIDs;
public ObservableCollection<KeyValuePairs> AllRoundIDs
{
get { return _AllRoundIDs; }
private set { Set(ref _AllRoundIDs, value); }
}
private KeyValuePairs _AllRoundsSelectedItem;
public KeyValuePairs AllRoundsSelectedItem
{
get { return _AllRoundsSelectedItem; }
private set { Set(ref _AllRoundsSelectedItem, value); }
}
KeyValuePairs类如下所示。。。
public class KeyValuePairs
{
public string Key { get; set; }
public string Value { get; set; }
}
当我运行应用程序时,我会按预期在ListView中获取项目。所以我知道数据绑定是有效的。
当我点击一个项目时,我没有得到任何生命。未激发对AllRoundsSelectedItem的绑定。这段代码在WPF应用程序中运行良好,但我在UWP中一无所获。我错过了什么?
提前谢谢。
您的AllRoundsSelectedItem
属性的setter是私有的,因此ListView
无法访问它。您可能会发现输出中存在绑定错误。
顺便说一句,因为KeyValuePairs
类表示一对,所以它可能应该命名为KeyValuePair
。