ListView-仅以编程方式选择索引

本文关键字:选择 索引 方式 编程 ListView- | 更新日期: 2023-09-27 18:28:42

我正在尝试实现listbox(或listview):

<ListView ItemsSource="{Binding Players}" SelectedIndex="{Binding SelectedIndex}">

我的问题是,我想将选定的索引绑定到代码隐藏中的属性。它只适用于表单启动,但我需要禁用用户来更改选择。Selectin将仅以编程方式更改。

感谢所有的建议或解决方案:)

ListView-仅以编程方式选择索引

因此,工作解决方案:

private void playersList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if (sender.GetType() == typeof(ListView))
    {
        (sender as ListView).SelectedIndex = GameObserver.Instance.core.SelectedIndex;
        e.Handled = true;
    }
}

在XAML中:

<ListView ItemsSource="{Binding Players}" SelectedIndex="{Binding SelectedIndex}" SelectionChanged="playersList_SelectionChanged">

和有界性质:

private int selectedIndex = 1;
public int SelectedIndex
{
    get
    {
        return selectedIndex;
    }
}

这里有两项任务:

编程选择:WPF列表视图编程选择项目

禁用用户选择:WPF ListView关闭选择

只是没有设置

 Public Int SelectedIndex 
 {
      get { return selectedindex; }  
 }
 public void mysub()
 {
      selectedindex = 2; 
      NotifyPropertyChanged("SelectedIndex");
 }