2012-04-20 10 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