c1354ccf0a79f1d395a64644b0943713ad456f33
[mono.git] / mcs / class / referencesource / System.Activities.Presentation / System.Activities.Presentation / System / Activities / Presentation / Toolbox / TreeViewTemplateSelector.cs
1 //------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation.  All rights reserved.
3 //------------------------------------------------------------
4
5 namespace System.Activities.Presentation.Toolbox
6 {
7     using System.Windows;
8     using System.Windows.Controls;
9
10     // This class is resposible for selecting proper template for Category and Tool objects 
11     // (those entities have different values beeing displayed)
12
13     sealed class TreeViewTemplateSelector : DataTemplateSelector
14     {
15         ToolboxControl owner;
16
17         public TreeViewTemplateSelector(ToolboxControl owner)
18         {
19             this.owner = owner;
20         }
21
22         public override DataTemplate SelectTemplate(object item, DependencyObject container)
23         {
24             DataTemplate result = base.SelectTemplate(item, container);
25
26             if (item is ToolboxItemWrapper && null != this.owner.ToolTemplate)
27             {
28                 result = this.owner.ToolTemplate;
29             }
30             if (item is ToolboxCategory && null != this.owner.CategoryTemplate)
31             {
32                 result = this.owner.CategoryTemplate;
33             }
34
35             return result;
36         }
37     }
38 }