gpt4 book ai didi

c# - 默认选择ListView中的第一项,MVVM,C#

转载 作者:行者123 更新时间:2023-12-03 21:51:40 27 4
gpt4 key购买 nike

我正在编写一些程序,可以选择设备并稍后对其进行配置。我实现了列出所有设备的 ListView。我喜欢默认选择第一个设备。怎么做?我尝试了在 StackOverflow 和 Google 上找到的几种解决方案,但没有成功。

这是我在 XAML 中的代码:

<ListView Name="lvdevices" Grid.Row="1" Margin="2" ItemsSource="{Binding devicelist}" SelectionMode="Single" SelectedItem="{Binding SelectedDevice}" DataContext="{Binding }">
<ListView.View>
<GridView x:Name="gridDevices">
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Tag="{Binding ID}" IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}}, Path=IsSelected}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn x:Name="DeviceId" Header="DeviceId" DisplayMemberBinding="{Binding DeviceId}" Width="50"/>
<GridViewColumn x:Name="NameId" Header="NameId" DisplayMemberBinding="{Binding NameId}" Width="100"/>
<GridViewColumn x:Name="ManufacturerId" Header="ManufacturerId" DisplayMemberBinding="{Binding ManufacturerId}" Width="150"/>
</GridView>
</ListView.View>
</ListView>

我不知道如何实现连接时默认选择第一项。也有可能找不到设备,那怎么办?请帮忙!如果有问题请提问。

最佳答案

当您填充devicelist 时,您可以将SelectedDevice 设置为设备列表中的第一项,如果有,则为null列表中没有任何内容。

using System.Linq;

...

SelectedDevice = devicelist.FirstOrDefault();

假设 SelectedDevice 实现了 INotifyPropertyChanged,那么这应该选择您 View 中的第一个项目。

关于c# - 默认选择ListView中的第一项,MVVM,C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31958935/

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