Select 默认第一项

Select first item by default

我正在将 ModernTab.Links 绑定到 Link 集合,并希望默认选择第一个 Link。如果我对其进行硬编码,这将起作用:

<mui:ModernTab Layout="List" Links="{Binding Years}" SelectedSource="hard-coded-uri"/>

Link集合不会是静态的,所以我将 SelectedSource 设置为我的 ViewModel 中的新 属性 "SelectedYear":

<mui:ModernTab Layout="List" Links="{Binding Years}" SelectedSource="{Binding SelectedYear}"/>

"SelectedYear" 是 Link 集合中的第一个 link "Years":

SelectedYear = Years.First();

我可以验证 "SelectedYear" 是第一个 link,我敢打赌 100 欧元认为这会奏效......但事实并非如此。没有选择年份。我已经这样定义 属性 SelectedYear:

    private Link _selectedYear { get; set; }
    public Link SelectedYear
    {
        get
        {
            return _selectedYear;
        }
        set
        {
            _selectedYear = value;
            OnPropertyChanged("SelectedYear");
        }
    }

漏洞在哪里?感谢您的帮助!

在您的 XAML 中,将 Listview 的 SelectedIndex 属性 设置为零。

这将是您的默认列表项。

你应该使用

SelectedSource="{绑定 SelectedYear.Source}"

在你的 xaml.