1 <Window x:Class="TrafficAlert.Window1"
2 xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
3 xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
13 <StackPanel Name="sp">
15 <StackPanel.Resources>
17 <Style x:Key="ExpandCollapseToggleStyle"
18 TargetType="{x:Type ToggleButton}">
19 <Setter Property="Focusable"
21 <Setter Property="Width"
23 <Setter Property="Height"
25 <Setter Property="Template">
27 <ControlTemplate TargetType="{x:Type ToggleButton}">
30 Background="transparent">
36 SnapsToDevicePixels="true">
38 <LinearGradientBrush StartPoint="0,0"
40 <LinearGradientBrush.GradientStops>
41 <GradientStop Color="YELLOW"
43 <GradientStop Color="RED"
45 </LinearGradientBrush.GradientStops>
46 </LinearGradientBrush>
48 <Path x:Name="ExpandPath"
51 Data="M 0 2 L 0 3 L 2 3 L 2 5 L 3 5 L 3 3 L 5 3 L 5 2 L 3 2 L 3 0 L 2 0 L 2 2 Z"/>
54 <ControlTemplate.Triggers>
55 <Trigger Property="IsChecked"
57 <Setter Property="Data"
58 TargetName="ExpandPath"
59 Value="M 0 2 L 0 3 L 5 3 L 5 2 Z"/>
61 </ControlTemplate.Triggers>
67 <Style x:Key="TreeViewItemFocusVisual">
68 <Setter Property="Control.Template">
72 <Rectangle Margin="0,0,0,0"
83 <Style x:Key="{x:Type TreeViewItem}"
84 TargetType="{x:Type TreeViewItem}">
85 <Setter Property="Background"
87 <Setter Property="HorizontalContentAlignment"
88 Value="{Binding Path=HorizontalContentAlignment,RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
89 <Setter Property="VerticalContentAlignment"
90 Value="{Binding Path=VerticalContentAlignment,RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
91 <Setter Property="Padding"
93 <Setter Property="Foreground"
94 Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
95 <Setter Property="FocusVisualStyle"
96 Value="{StaticResource TreeViewItemFocusVisual}"/>
97 <Setter Property="Template">
99 <ControlTemplate TargetType="{x:Type TreeViewItem}">
101 <Grid.ColumnDefinitions>
102 <ColumnDefinition MinWidth="19"
104 <ColumnDefinition Width="Auto"/>
105 <ColumnDefinition Width="*"/>
106 </Grid.ColumnDefinitions>
107 <Grid.RowDefinitions>
108 <RowDefinition Height="Auto"/>
110 </Grid.RowDefinitions>
111 <ToggleButton x:Name="Expander"
112 Style="{StaticResource ExpandCollapseToggleStyle}"
113 IsChecked="{Binding Path=IsExpanded,RelativeSource={RelativeSource TemplatedParent}}"
117 Background="{TemplateBinding Background}"
118 BorderBrush="{TemplateBinding BorderBrush}"
119 BorderThickness="{TemplateBinding BorderThickness}"
120 Padding="{TemplateBinding Padding}">
121 <ContentPresenter x:Name="PART_Header"
122 ContentSource="Header"
123 HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
125 <ItemsPresenter x:Name="ItemsHost"
128 Grid.ColumnSpan="2"/>
130 <ControlTemplate.Triggers>
131 <Trigger Property="IsExpanded"
133 <Setter TargetName="ItemsHost"
134 Property="Visibility"
137 <Trigger Property="HasItems"
139 <Setter TargetName="Expander"
140 Property="Visibility"
144 <MultiTrigger.Conditions>
145 <Condition Property="HasHeader"
147 <Condition Property="Width"
149 </MultiTrigger.Conditions>
150 <Setter TargetName="PART_Header"
155 <MultiTrigger.Conditions>
156 <Condition Property="HasHeader"
158 <Condition Property="Height"
160 </MultiTrigger.Conditions>
161 <Setter TargetName="PART_Header"
165 <Trigger Property="IsSelected"
167 <Setter TargetName="Bd"
168 Property="Background"
169 Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
170 <Setter Property="Foreground"
171 Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
174 <MultiTrigger.Conditions>
175 <Condition Property="IsSelected"
177 <Condition Property="IsSelectionActive"
179 </MultiTrigger.Conditions>
180 <Setter TargetName="Bd"
181 Property="Background"
182 Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
183 <Setter Property="Foreground"
184 Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
186 <Trigger Property="IsEnabled"
188 <Setter Property="Foreground"
189 Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
191 </ControlTemplate.Triggers>
197 <Style x:Key="{x:Type TreeView}"
198 TargetType="{x:Type TreeView}">
200 <Setter Property="Template">
202 <ControlTemplate TargetType="{x:Type TreeView}">
204 BorderBrush="{TemplateBinding BorderBrush}"
205 BorderThickness="{TemplateBinding BorderThickness}"
209 CanContentScroll="false"
210 HorizontalScrollBarVisibility="Hidden"
211 VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"
212 Padding="{TemplateBinding Padding}">
213 <ScrollViewer.Background>
214 <LinearGradientBrush>
215 <LinearGradientBrush.StartPoint>
217 </LinearGradientBrush.StartPoint>
218 <LinearGradientBrush.EndPoint>
220 </LinearGradientBrush.EndPoint>
221 <LinearGradientBrush.GradientStops>
222 <GradientStop Color="red" Offset="0"/>
223 <GradientStop Color="black" Offset="1.15"/>
224 </LinearGradientBrush.GradientStops>
225 </LinearGradientBrush>
226 </ScrollViewer.Background>
230 <ControlTemplate.Triggers>
232 <MultiTrigger.Conditions>
233 <Condition Property="HasItems"
235 <Condition Property="Width"
237 </MultiTrigger.Conditions>
238 <Setter Property="MinWidth"
242 <MultiTrigger.Conditions>
243 <Condition Property="HasItems"
245 <Condition Property="Height"
247 </MultiTrigger.Conditions>
248 <Setter Property="MinHeight"
251 </ControlTemplate.Triggers>
258 </StackPanel.Resources>
262 <Rectangle Stroke="black" Fill="orangered" Height="12" Width="12"/>
263 <Label>Critical</Label>
264 <Rectangle Stroke="black" Fill="Orange" Height="12" Width="12"/>
266 <Rectangle Stroke="black" Fill="Yellow" Height="12" Width="12"/>
268 <Button Name="ZipCode" Click="ButtonClick">
270 <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
271 <LinearGradientBrush.GradientStops>
272 <GradientStopCollection>
273 <GradientStop Color="red" Offset="0" />
274 <GradientStop Color="yellow" Offset="1" />
275 </GradientStopCollection>
276 </LinearGradientBrush.GradientStops>
277 </LinearGradientBrush>
281 <Label Name="Location" FontWeight="bold"/>
282 <ScrollViewer HorizontalScrollBarVisibility="auto" VerticalScrollBarVisibility="hidden" Name="sv">
283 <TreeView Name="tv" BorderThickness="0" SizeChanged="tv_SizeChanged">