WPF数据绑定ListView / ListVBox不会选择列表是否只有一个项目

时间:2010-02-20 17:42:10

标签: wpf data-binding mvvm listbox

所以这很神秘。我有一个数据绑定ListBox(或ListView,两者都发生了),如果它有两个以上的项目,选择工作 - 我得到一个蓝色高亮条,项目看起来已选中。如果我只有1个项目,则选择不起作用 - 我没有获得蓝色高亮显示条,但选择事件全部正常激活。这是WPF中的错误吗?还是我只是疯了?

这就是我设置ListBox的方式:

    <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 个答案:

答案 0 :(得分:1)

尝试放IsSynchronizedWithCurrentItem="True" on the ListView

答案 1 :(得分:1)

我之前从未遇到过这个问题。我只是在kaxaml中使用了你的XAML(但是使用了一个静态数组)并且它运行良好。然后我将它粘贴到VS2008中的新WPF项目中,它很好。这是我的代码隐藏:

public partial class Window1:Window {     public ObservableCollection Plots {get;组; }

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

}

在ObservableCollection中只有一个项目没有选择中断。

答案 2 :(得分:0)

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