|
7 | 7 | xmlns:dockablz="clr-namespace:Dragablz.Dockablz;assembly=Dragablz" |
8 | 8 | xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" |
9 | 9 | xmlns:converters="clr-namespace:NETworkManager.Converters;assembly=NETworkManager.Converters" |
| 10 | + xmlns:controls="clr-namespace:NETworkManager.Controls;assembly=NETworkManager.Controls" |
10 | 11 | xmlns:viewModels="clr-namespace:NETworkManager.ViewModels" |
11 | 12 | xmlns:localization="clr-namespace:NETworkManager.Localization.Resources;assembly=NETworkManager.Localization" |
12 | 13 | xmlns:settings="clr-namespace:NETworkManager.Settings;assembly=NETworkManager.Settings" |
13 | 14 | xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls" |
14 | 15 | xmlns:profiles="clr-namespace:NETworkManager.Profiles;assembly=NETworkManager.Profiles" |
| 16 | + xmlns:wpfHelpers="clr-namespace:NETworkManager.Utilities.WPF;assembly=NETworkManager.Utilities.WPF" |
15 | 17 | xmlns:networkManager="clr-namespace:NETworkManager" |
16 | 18 | mc:Ignorable="d" d:DataContext="{d:DesignInstance viewModels:DNSLookupHostViewModel}"> |
17 | 19 | <UserControl.Resources> |
|
20 | 22 | <converters:IntNotZeroToVisibilityCollapsedConverter x:Key="IntNotZeroToVisibilityCollapsedConverter" /> |
21 | 23 | <converters:IntZeroToVisibilityCollapsedConverter x:Key="IntZeroToVisibilityCollapsedConverter" /> |
22 | 24 | <converters:StringNullOrEmptyToBoolConverter x:Key="StringNullOrEmptyToBoolConverter" /> |
| 25 | + <wpfHelpers:BindingProxy x:Key="BindingProxy" Data="{Binding}" /> |
23 | 26 | </UserControl.Resources> |
24 | 27 | <UserControl.InputBindings> |
25 | 28 | <KeyBinding Key="T" Modifiers="Ctrl" Command="{Binding AddTabCommand}" /> |
|
412 | 415 | <Setter Property="Template"> |
413 | 416 | <Setter.Value> |
414 | 417 | <ControlTemplate> |
415 | | - <Expander IsExpanded="True" |
416 | | - Style="{StaticResource DefaultExpander}"> |
| 418 | + <controls:GroupExpander |
| 419 | + Style="{StaticResource DefaultExpander}" |
| 420 | + StateStore="{Binding Path=DataContext.GroupExpanderStateStore, RelativeSource={RelativeSource AncestorType=ListBox}}" |
| 421 | + GroupName="{Binding Path=(CollectionViewGroup.Name)}"> |
417 | 422 | <Expander.Header> |
418 | 423 | <Grid> |
419 | 424 | <Grid.ColumnDefinitions> |
420 | 425 | <ColumnDefinition Width="*" /> |
421 | 426 | <ColumnDefinition Width="10" /> |
422 | 427 | <ColumnDefinition Width="Auto" /> |
423 | 428 | </Grid.ColumnDefinitions> |
| 429 | + <Grid.ContextMenu> |
| 430 | + <ContextMenu |
| 431 | + Style="{StaticResource DefaultContextMenu}"> |
| 432 | + <MenuItem |
| 433 | + Header="{x:Static Member=localization:Strings.ExpandAll}" |
| 434 | + Command="{Binding Path=Data.(viewModels:DNSLookupHostViewModel.ExpandAllProfileGroupsCommand), Source={StaticResource BindingProxy}}"> |
| 435 | + <MenuItem.Icon> |
| 436 | + <Rectangle Width="16" Height="16" |
| 437 | + Fill="{DynamicResource ResourceKey=MahApps.Brushes.Gray3}"> |
| 438 | + <Rectangle.OpacityMask> |
| 439 | + <VisualBrush |
| 440 | + Stretch="Uniform" |
| 441 | + Visual="{iconPacks:Material Kind=PlusBoxMultipleOutline}" /> |
| 442 | + </Rectangle.OpacityMask> |
| 443 | + </Rectangle> |
| 444 | + </MenuItem.Icon> |
| 445 | + </MenuItem> |
| 446 | + <MenuItem |
| 447 | + Header="{x:Static Member=localization:Strings.CollapseAll}" |
| 448 | + Command="{Binding Path=Data.(viewModels:DNSLookupHostViewModel.CollapseAllProfileGroupsCommand), Source={StaticResource BindingProxy}}"> |
| 449 | + <MenuItem.Icon> |
| 450 | + <Rectangle Width="16" Height="16" |
| 451 | + Fill="{DynamicResource ResourceKey=MahApps.Brushes.Gray3}"> |
| 452 | + <Rectangle.OpacityMask> |
| 453 | + <VisualBrush |
| 454 | + Stretch="Uniform" |
| 455 | + Visual="{iconPacks:Material Kind=MinusBoxMultipleOutline}" /> |
| 456 | + </Rectangle.OpacityMask> |
| 457 | + </Rectangle> |
| 458 | + </MenuItem.Icon> |
| 459 | + </MenuItem> |
| 460 | + </ContextMenu> |
| 461 | + </Grid.ContextMenu> |
424 | 462 | <Rectangle Grid.Column="0" Grid.ColumnSpan="3" |
425 | 463 | Fill="Transparent" /> |
426 | 464 | <TextBlock Grid.Column="0" |
|
456 | 494 | </Grid> |
457 | 495 | </Expander.Header> |
458 | 496 | <ItemsPresenter /> |
459 | | - </Expander> |
| 497 | + </controls:GroupExpander> |
460 | 498 | </ControlTemplate> |
461 | 499 | </Setter.Value> |
462 | 500 | </Setter> |
|
0 commit comments