2012-04-20 44 views
0

使用XAML创建德兴时,我注意到一个奇怪的错误:如何防止意外XAML控制“选择”

有时我能“选择”控制我会选择文本的方式。

通常情况下,控制是这样的:

enter image description here

而如果意外选择发生了,它看起来像这样:

enter image description here

为什么会发生这种事,我该怎么办阻止它?

UPDATE

下面是我使用的控件: TreeView-> Expander-> StackPanel->基于答案的DataGrid

,该问题可能从树视图起源。

如何防止选择TreeView项目?

+1

我使用具有的SelectedItem而不是一个ItemsControl一个ListBox猜你?如果你不需要SelectedItem,则使用ItemsControl。 – 2012-04-20 14:21:09

+0

查看更新...... – 2012-04-20 14:30:00

回答

2

看来你的控件是基于一个列表框,它支持能够以这种方式选择项目。也许更改基础控制是基于“项目控制”。

编辑:

树视图具有相同的行为,允许选择一个项目。看到这个问题...

Disable WPF TreeView (or TreeViewItem) selection?

+0

查看更新...... – 2012-04-20 14:30:26

2

只应的情况下,如果控制是里面的东西可选择像ListBoxItem,防止代替Selector(例如ListBox)子类使用ItemsControls。如果不是这样,我不知道发生了什么,因为我从来没有见过这样的事情。


从您的编辑来看,你似乎有TreeViewItems,你可以either override the respective brush-keys隐藏选择或添加TreeView.ItemContainerStyle这改变了Template的东西,不会显示在第一位的选择。

+0

查看更新...... – 2012-04-20 14:30:59

+0

@ArsenZahray:查看编辑。 – 2012-04-20 14:35:42