所以这很神秘。我有一个数据绑定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似乎描述了一个类似的问题,但我在回复中找不到任何我认为有助于我的情况的内容。
答案 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"
。一旦我把它拉出来,一切都很好。