选择列表框中的第一项

gum*_*eda 10 c# wpf listbox

列表框在richtextbox中作为自动完成工作,我使用集合中的项目填充它.我需要它每次列表框填充时自动选择第一项.

我该怎么做呢?

谢谢

foreach (var ks in ksd.FindValues(comparable))
      {
          lb.Items.Add(ks.Value);
      }

      if (lb.HasItems)
      {
          lb.Visibility = System.Windows.Visibility.Visible;
          lb.SelectedIndex = 0; //Suggested solution, still doesn't work 
      }
      else
      {
          lb.Visibility = System.Windows.Visibility.Collapsed;
      }
Run Code Online (Sandbox Code Playgroud)

Pet*_*PAD 29

您可以在第一次加载时将SelectedIndex设置为XAML中的0

<ListBox SelectedIndex="0" />
Run Code Online (Sandbox Code Playgroud)

在代码隐藏中,您可以在加载项目列表后执行此操作

        if (this.lst.Items.Count > 0)
            this.lst.SelectedIndex = 0;
Run Code Online (Sandbox Code Playgroud)


Ana*_*uza 12

如果您正在使用MVVM,那么您也可以尝试其他解决方案:

  1. 添加调用SelectedValueViewModel的属性;
  2. 加载(或增加)值后List,绑定到该ListBoxSelectedValuevaluesList.FirstOrDefault();
  3. 在XAML上绑定to (来自ViewModel)的SelectedItem属性并设置绑定ListBoxSelectedValueMode="TwoWay"