2013-07-23 30 views
17

Tôi có cấu trúc treeview. Khi tôi cố gắng bấm vào các nút có một màu xanh cho thấy nút được chọn. Làm thế nào tôi có thể loại bỏ điều đó. Tôi không muốn một màu lựa chọn được hiển thị trên cây.Chế độ xem dạng cây hiển thị màu xanh cho mục đã chọn

+0

Câu hỏi này đã được hỏi và trả lời hàng triệu lần. –

+0

bản sao có thể có của [Làm cách nào để đánh dấu một mục được chọn bằng treeview với một số màu?] (Http://stackoverflow.com/questions/876759/how-do-i-highlight-a-treeview-selected-item-with-some -color) –

Trả lời

43

ItemContainerStyle phương pháp không hoạt động đối với tôi nói trên Windows-8. Có 4 bàn chải thường phản hồi đến nay và được sử dụng bởi các Template mặc định cho TreeViewItem

phím:

HighlightBrushKey - Bối cảnh với sự tập trung.

HighlightTextBrushKey - Mặt trước có tiêu điểm.

InactiveSelectionHighlightBrushKey - Bối cảnh không có tiêu điểm.

InactiveSelectionHighlightTextBrushKey - Mặt trước không tập trung.

Chỉ cần ghi đè lên chúng như bạn thấy phù hợp, cho một cái gì đó yêu cầu của bạn như thế này sẽ làm tốt:

<TreeView> 
    <TreeView.Resources> 
    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" 
         Color="Transparent" /> 
    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" 
         Color="Black" /> 
    <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" 
         Color="Transparent" /> 
    <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" 
         Color="Black" /> 
    </TreeView.Resources> 
</TreeView> 

Đỗ chú ý đến chỉ trọng họ trong phạm vi bạn yêu cầu. Ví dụ nếu bạn đặt tất cả điều này vào App.xaml bạn sẽ thấy một số tác dụng phụ lạ như tất cả các điều khiển bằng cách sử dụng các Brushes bây giờ sẽ kết thúc bằng cách sử dụng những người bị ghi đè của bạn mà có thể không phải là những gì bạn đang sau.

+1

Cảm ơn bạn đây chính xác là những gì tôi đang tìm kiếm !! – HXD

+2

Xin lưu ý rằng 'SystemColors.InactiveSelectionHighlightBrushKey' và' SystemColors.InactiveSelectionHighlightTextBrushKey' chỉ dành cho .NET 4.5 trở lên. – bitbonk

Các vấn đề liên quan