代码之家  ›  专栏  ›  技术社区  ›  Rob

如果列表只有一个项,则WPF数据绑定列表视图/列表框将不选择

  •  2
  • Rob  · 技术社区  · 15 年前

    所以这很让人迷惑。我有数据绑定 ListBox (或) ListView ,两者都会发生),如果其中有两个以上的项目,则选择会起作用-我会得到一个蓝色的突出显示条,该项目看起来会被选中。如果我只有一个项目,选择将不起作用-我不会得到一个蓝色的突出显示条,但是选择事件都会正常触发。这是WPF中的错误吗?或者我只是疯了?

    这就是我设置 列表框 :

        <ListView x:Name="plotListBox"
                 DockPanel.Dock="Bottom"
                 ItemsSource="{Binding Path=Plots}"
                 SelectedItem="{Binding Path=SelectedPlot, Mode=TwoWay}"
                 SelectionMode="Single"
                 ScrollViewer.CanContentScroll="False"/>
    

    有没有其他人碰到这样的事? This post 似乎描述了一个类似的问题,但我在回复中找不到任何我认为有助于我的情况的信息。

    3 回复  |  直到 15 年前
        1
  •  1
  •   Jobi Joy    15 年前

    试放 IsSynchronizedWithCurrentItem="True" on the ListView

        2
  •  1
  •   Dave    15 年前

    我以前从未遇到过这个问题。我刚在kaxaml中使用了您的xaml(但使用了静态数组),它工作得很好。然后我把它粘贴到了VS2008中的一个新的WPF项目中,结果很好。下面是我的代码:

    公共分部类窗口1:窗口 { 公共可观测采集图get;set;

    public Window1()
    {
        Plots = new ObservableCollection<string>();
        InitializeComponent();
        this.DataContext = this;
        Plots.Add( "hello");
        //Plots.Add( "world");
    }
    

    }

    仅仅在ObservableCollection中有一个项目并没有使选择中断。

        3
  •  0
  •   Rob    15 年前

    哇,罪魁祸首是 ScrollViewer.CanContentScroll="False" . 我一拔出来,一切都很好。