Skip to content

Commit 6556629

Browse files
committed
Successfully injected XamlDisplayerPanel into Trees.xaml
1 parent 4189fec commit 6556629

File tree

2 files changed

+69
-76
lines changed

2 files changed

+69
-76
lines changed

MainDemo.Wpf/Trees.xaml

Lines changed: 67 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
66
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
77
xmlns:domain="clr-namespace:MaterialDesignColors.WpfExample.Domain"
8+
xmlns:codeDisplayer="clr-namespace:CodeDisplayer;assembly=CodeDisplayer"
89
mc:Ignorable="d"
910
d:DesignHeight="300" d:DesignWidth="300">
1011
<UserControl.Resources>
@@ -14,87 +15,77 @@
1415
</ResourceDictionary.MergedDictionaries>
1516
</ResourceDictionary>
1617
</UserControl.Resources>
17-
<Grid>
18-
<Grid.ColumnDefinitions>
19-
<ColumnDefinition Width="Auto"/>
20-
<ColumnDefinition Width="Auto"/>
21-
</Grid.ColumnDefinitions>
22-
<TreeView Grid.Column="0"
18+
<ScrollViewer>
19+
<codeDisplayer:XamlDisplayerPanel x:Name="XamlDisplayerPanel">
20+
<TreeView Grid.Column="0"
2321
MinWidth="220">
24-
<TreeViewItem Header="Fruit">
25-
<TreeViewItem>
26-
<TreeViewItem.Header>
27-
<StackPanel Orientation="Horizontal">
28-
<Viewbox Width="16" Height="16">
29-
<Canvas Width="24" Height="24">
30-
<Path Data="M20,10C22,13 17,22 15,22C13,22 13,21 12,21C11,21 11,22 9,22C7,22 2,13 4,10C6,7 9,7 11,8V5C5.38,8.07 4.11,3.78 4.11,3.78C4.11,3.78 6.77,0.19 11,5V3H13V8C15,7 18,7 20,10Z"
22+
<TreeViewItem Header="Fruit">
23+
<TreeViewItem>
24+
<TreeViewItem.Header>
25+
<StackPanel Orientation="Horizontal">
26+
<Viewbox Width="16" Height="16">
27+
<Canvas Width="24" Height="24">
28+
<Path Data="M20,10C22,13 17,22 15,22C13,22 13,21 12,21C11,21 11,22 9,22C7,22 2,13 4,10C6,7 9,7 11,8V5C5.38,8.07 4.11,3.78 4.11,3.78C4.11,3.78 6.77,0.19 11,5V3H13V8C15,7 18,7 20,10Z"
3129
Fill="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TreeViewItem}}, Path=Foreground}" />
32-
</Canvas>
33-
</Viewbox>
34-
<TextBlock Margin="8 0 0 0">Apple</TextBlock>
35-
</StackPanel>
36-
</TreeViewItem.Header>
30+
</Canvas>
31+
</Viewbox>
32+
<TextBlock Margin="8 0 0 0">Apple</TextBlock>
33+
</StackPanel>
34+
</TreeViewItem.Header>
35+
</TreeViewItem>
36+
<TreeViewItem Header="Banana"/>
37+
<TreeViewItem Header="Grape">
38+
<TextBlock><Run Text="Grapes for us"/></TextBlock>
39+
</TreeViewItem>
40+
<TreeViewItem Header="Peach"/>
41+
<TreeViewItem Header="Pear"/>
42+
<TreeViewItem Header="Strawberry"/>
3743
</TreeViewItem>
38-
<TreeViewItem Header="Banana"/>
39-
<TreeViewItem Header="Grape">
40-
<TextBlock><Run Text="Grapes for us"/></TextBlock>
41-
</TreeViewItem>
42-
<TreeViewItem Header="Peach"/>
43-
<TreeViewItem Header="Pear"/>
44-
<TreeViewItem Header="Strawberry"/>
45-
</TreeViewItem>
46-
<TreeViewItem Header="OS" IsExpanded="True">
47-
<TreeViewItem Header="Amiga"/>
48-
<TreeViewItem>
49-
<TreeViewItem.Header>
50-
<StackPanel Orientation="Horizontal">
51-
<Viewbox Width="16" Height="16">
52-
<Canvas Width="24" Height="24">
53-
<Path Data="M15,5H14V4H15M10,5H9V4H10M15.53,2.16L16.84,0.85C17.03,0.66 17.03,0.34 16.84,0.14C16.64,-0.05 16.32,-0.05 16.13,0.14L14.65,1.62C13.85,1.23 12.95,1 12,1C11.04,1 10.14,1.23 9.34,1.63L7.85,0.14C7.66,-0.05 7.34,-0.05 7.15,0.14C6.95,0.34 6.95,0.66 7.15,0.85L8.46,2.16C6.97,3.26 6,5 6,7H18C18,5 17,3.25 15.53,2.16M20.5,8A1.5,1.5 0 0,0 19,9.5V16.5A1.5,1.5 0 0,0 20.5,18A1.5,1.5 0 0,0 22,16.5V9.5A1.5,1.5 0 0,0 20.5,8M3.5,8A1.5,1.5 0 0,0 2,9.5V16.5A1.5,1.5 0 0,0 3.5,18A1.5,1.5 0 0,0 5,16.5V9.5A1.5,1.5 0 0,0 3.5,8M6,18A1,1 0 0,0 7,19H8V22.5A1.5,1.5 0 0,0 9.5,24A1.5,1.5 0 0,0 11,22.5V19H13V22.5A1.5,1.5 0 0,0 14.5,24A1.5,1.5 0 0,0 16,22.5V19H17A1,1 0 0,0 18,18V8H6V18Z"
44+
<TreeViewItem Header="OS" IsExpanded="True">
45+
<TreeViewItem Header="Amiga"/>
46+
<TreeViewItem>
47+
<TreeViewItem.Header>
48+
<StackPanel Orientation="Horizontal">
49+
<Viewbox Width="16" Height="16">
50+
<Canvas Width="24" Height="24">
51+
<Path Data="M15,5H14V4H15M10,5H9V4H10M15.53,2.16L16.84,0.85C17.03,0.66 17.03,0.34 16.84,0.14C16.64,-0.05 16.32,-0.05 16.13,0.14L14.65,1.62C13.85,1.23 12.95,1 12,1C11.04,1 10.14,1.23 9.34,1.63L7.85,0.14C7.66,-0.05 7.34,-0.05 7.15,0.14C6.95,0.34 6.95,0.66 7.15,0.85L8.46,2.16C6.97,3.26 6,5 6,7H18C18,5 17,3.25 15.53,2.16M20.5,8A1.5,1.5 0 0,0 19,9.5V16.5A1.5,1.5 0 0,0 20.5,18A1.5,1.5 0 0,0 22,16.5V9.5A1.5,1.5 0 0,0 20.5,8M3.5,8A1.5,1.5 0 0,0 2,9.5V16.5A1.5,1.5 0 0,0 3.5,18A1.5,1.5 0 0,0 5,16.5V9.5A1.5,1.5 0 0,0 3.5,8M6,18A1,1 0 0,0 7,19H8V22.5A1.5,1.5 0 0,0 9.5,24A1.5,1.5 0 0,0 11,22.5V19H13V22.5A1.5,1.5 0 0,0 14.5,24A1.5,1.5 0 0,0 16,22.5V19H17A1,1 0 0,0 18,18V8H6V18Z"
5452
Fill="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TreeViewItem}}, Path=Foreground}" />
55-
</Canvas>
56-
</Viewbox>
57-
<TextBlock Margin="8 0 0 0">Android</TextBlock>
58-
</StackPanel>
59-
</TreeViewItem.Header>
60-
</TreeViewItem>
61-
<TreeViewItem Header="iOS"/>
62-
<TreeViewItem>
63-
<TreeViewItem.Header>
64-
<StackPanel Orientation="Horizontal">
65-
<Viewbox Width="16" Height="16">
66-
<Canvas Width="24" Height="24">
67-
<Path Data="M13.18,14.5C12.53,15.26 11.47,15.26 10.82,14.5L7.44,10.5C7.16,11.28 7,12.12 7,13C7,14.67 7.57,16.18 8.5,17.27C10,17.37 11.29,17.96 11.78,19C11.85,19 11.93,19 12.22,19C12.71,18 13.95,17.44 15.46,17.33C16.41,16.24 17,14.7 17,13C17,12.12 16.84,11.28 16.56,10.5L13.18,14.5M20,20.75C20,21.3 19.3,22 18.75,22H13.25C12.7,22 12,21.3 12,20.75C12,21.3 11.3,22 10.75,22H5.25C4.7,22 4,21.3 4,20.75C4,19.45 4.94,18.31 6.3,17.65C5.5,16.34 5,14.73 5,13C4,15 2.7,15.56 2.09,15C1.5,14.44 1.79,12.83 3.1,11.41C3.84,10.6 5,9.62 5.81,9.25C6.13,8.56 6.54,7.93 7,7.38V7A5,5 0 0,1 12,2A5,5 0 0,1 17,7V7.38C17.46,7.93 17.87,8.56 18.19,9.25C19,9.62 20.16,10.6 20.9,11.41C22.21,12.83 22.5,14.44 21.91,15C21.3,15.56 20,15 19,13C19,14.75 18.5,16.37 17.67,17.69C19.05,18.33 20,19.44 20,20.75M9.88,9C9.46,9.5 9.46,10.27 9.88,10.75L11.13,12.25C11.54,12.73 12.21,12.73 12.63,12.25L13.88,10.75C14.29,10.27 14.29,9.5 13.88,9H9.88M10,5.25C9.45,5.25 9,5.9 9,7C9,8.1 9.45,8.75 10,8.75C10.55,8.75 11,8.1 11,7C11,5.9 10.55,5.25 10,5.25M14,5.25C13.45,5.25 13,5.9 13,7C13,8.1 13.45,8.75 14,8.75C14.55,8.75 15,8.1 15,7C15,5.9 14.55,5.25 14,5.25Z"
53+
</Canvas>
54+
</Viewbox>
55+
<TextBlock Margin="8 0 0 0">Android</TextBlock>
56+
</StackPanel>
57+
</TreeViewItem.Header>
58+
</TreeViewItem>
59+
<TreeViewItem Header="iOS"/>
60+
<TreeViewItem>
61+
<TreeViewItem.Header>
62+
<StackPanel Orientation="Horizontal">
63+
<Viewbox Width="16" Height="16">
64+
<Canvas Width="24" Height="24">
65+
<Path Data="M13.18,14.5C12.53,15.26 11.47,15.26 10.82,14.5L7.44,10.5C7.16,11.28 7,12.12 7,13C7,14.67 7.57,16.18 8.5,17.27C10,17.37 11.29,17.96 11.78,19C11.85,19 11.93,19 12.22,19C12.71,18 13.95,17.44 15.46,17.33C16.41,16.24 17,14.7 17,13C17,12.12 16.84,11.28 16.56,10.5L13.18,14.5M20,20.75C20,21.3 19.3,22 18.75,22H13.25C12.7,22 12,21.3 12,20.75C12,21.3 11.3,22 10.75,22H5.25C4.7,22 4,21.3 4,20.75C4,19.45 4.94,18.31 6.3,17.65C5.5,16.34 5,14.73 5,13C4,15 2.7,15.56 2.09,15C1.5,14.44 1.79,12.83 3.1,11.41C3.84,10.6 5,9.62 5.81,9.25C6.13,8.56 6.54,7.93 7,7.38V7A5,5 0 0,1 12,2A5,5 0 0,1 17,7V7.38C17.46,7.93 17.87,8.56 18.19,9.25C19,9.62 20.16,10.6 20.9,11.41C22.21,12.83 22.5,14.44 21.91,15C21.3,15.56 20,15 19,13C19,14.75 18.5,16.37 17.67,17.69C19.05,18.33 20,19.44 20,20.75M9.88,9C9.46,9.5 9.46,10.27 9.88,10.75L11.13,12.25C11.54,12.73 12.21,12.73 12.63,12.25L13.88,10.75C14.29,10.27 14.29,9.5 13.88,9H9.88M10,5.25C9.45,5.25 9,5.9 9,7C9,8.1 9.45,8.75 10,8.75C10.55,8.75 11,8.1 11,7C11,5.9 10.55,5.25 10,5.25M14,5.25C13.45,5.25 13,5.9 13,7C13,8.1 13.45,8.75 14,8.75C14.55,8.75 15,8.1 15,7C15,5.9 14.55,5.25 14,5.25Z"
6866
Fill="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TreeViewItem}}, Path=Foreground}" />
69-
</Canvas>
70-
</Viewbox>
71-
<TextBlock Margin="8 0 0 0">Linux</TextBlock>
72-
</StackPanel>
73-
</TreeViewItem.Header>
74-
</TreeViewItem>
75-
<TreeViewItem>
76-
<TreeViewItem.Header>
77-
<StackPanel Orientation="Horizontal">
78-
<Viewbox Width="16" Height="16">
79-
<Canvas Width="24" Height="24">
80-
<Path Data="M3,12V6.75L9,5.43V11.91L3,12M20,3V11.75L10,11.9V5.21L20,3M3,13L9,13.09V19.9L3,18.75V13M20,13.25V22L10,20.09V13.1L20,13.25Z"
67+
</Canvas>
68+
</Viewbox>
69+
<TextBlock Margin="8 0 0 0">Linux</TextBlock>
70+
</StackPanel>
71+
</TreeViewItem.Header>
72+
</TreeViewItem>
73+
<TreeViewItem>
74+
<TreeViewItem.Header>
75+
<StackPanel Orientation="Horizontal">
76+
<Viewbox Width="16" Height="16">
77+
<Canvas Width="24" Height="24">
78+
<Path Data="M3,12V6.75L9,5.43V11.91L3,12M20,3V11.75L10,11.9V5.21L20,3M3,13L9,13.09V19.9L3,18.75V13M20,13.25V22L10,20.09V13.1L20,13.25Z"
8179
Fill="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TreeViewItem}}, Path=Foreground}" />
82-
</Canvas>
83-
</Viewbox>
84-
<TextBlock Margin="8 0 0 0">Windows</TextBlock>
85-
</StackPanel>
86-
</TreeViewItem.Header>
80+
</Canvas>
81+
</Viewbox>
82+
<TextBlock Margin="8 0 0 0">Windows</TextBlock>
83+
</StackPanel>
84+
</TreeViewItem.Header>
85+
</TreeViewItem>
8786
</TreeViewItem>
88-
</TreeViewItem>
89-
<TreeViewItem Header="Empty" />
90-
</TreeView>
91-
<Grid Grid.Column="1"
92-
MinWidth="220"
93-
VerticalAlignment="Top">
94-
<Grid.RowDefinitions>
95-
<RowDefinition Height="*"/>
96-
<RowDefinition Height="Auto"/>
97-
</Grid.RowDefinitions>
87+
<TreeViewItem Header="Empty" />
88+
</TreeView>
9889
<TreeView Grid.Row="0"
9990
ItemsSource="{Binding MovieCategories}"
10091
MinWidth="220"
@@ -134,6 +125,6 @@
134125
</Button>
135126
</StackPanel>
136127
</materialDesign:PopupBox>
137-
</Grid>
138-
</Grid>
128+
</codeDisplayer:XamlDisplayerPanel>
129+
</ScrollViewer>
139130
</UserControl>

MainDemo.Wpf/Trees.xaml.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
using System.Windows.Navigation;
1414
using System.Windows.Shapes;
1515
using MaterialDesignColors.WpfExample.Domain;
16+
using MaterialDesignDemo.Helper;
1617

1718
namespace MaterialDesignColors.WpfExample
1819
{
@@ -24,6 +25,7 @@ public partial class Trees : UserControl
2425
public Trees()
2526
{
2627
InitializeComponent();
28+
XamlDisplayerPanel.Initialize(new SourceRouter(this.GetType().Name).GetSource());
2729
}
2830

2931
public TreesViewModel ViewModel => DataContext as TreesViewModel;

0 commit comments

Comments
 (0)