forked from BornToBeRoot/NETworkManager
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStatusWindow.xaml
More file actions
109 lines (109 loc) · 7.61 KB
/
StatusWindow.xaml
File metadata and controls
109 lines (109 loc) · 7.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<mahAppsControls:MetroWindow x:Class="NETworkManager.StatusWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:mahAppsControls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
xmlns:loadingIndicators="clr-namespace:LoadingIndicators.WPF;assembly=LoadingIndicators.WPF"
xmlns:localization="clr-namespace:NETworkManager.Resources.Localization"
xmlns:networkManager="clr-namespace:NETworkManager"
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
xmlns:resources="clr-namespace:NETworkManager.Properties"
xmlns:converters="clr-namespace:NETworkManager.Converters"
mc:Ignorable="d" d:DataContext="{d:DesignInstance networkManager:StatusWindow}"
Title="{x:Static resources:Resources.NETworkManager_ProjectName}" Height="300" Width="250" ShowInTaskbar="False" ResizeMode="NoResize" IsWindowDraggable="False" Style="{StaticResource DefaultWindow}" ShowMinButton="False" ShowMaxRestoreButton="False" Closing="StatusWindow_Closing">
<mahAppsControls:MetroWindow.Resources>
<converters:Bytes1000ToSpeedConverter x:Key="Bytes1000ToSpeedConverter" />
<converters:IPAddressArrayToStringConverter x:Key="IPAddressArrayToStringConverter" />
<converters:BooleanToVisibilityCollapsedConverter x:Key="BooleanToVisibilityCollapsedConverter" />
<converters:BooleanReverseToVisibilityCollapsedConverter x:Key="BooleanReverseToVisibilityCollapsedConverter" />
</mahAppsControls:MetroWindow.Resources>
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="10" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel VerticalAlignment="Center" Grid.Row="0" Visibility="{Binding IsRefreshing, Converter={StaticResource BooleanToVisibilityCollapsedConverter}}">
<loadingIndicators:LoadingIndicator IsActive="True" Style="{DynamicResource LoadingIndicatorArcsStyle}" SpeedRatio="1" Margin="0,0,0,10"/>
<TextBlock Text="{x:Static localization:Strings.DetectingNetworkDots}" Style="{StaticResource MessageTextBlock}" />
</StackPanel>
<StackPanel Grid.Row="0">
<StackPanel.Style>
<Style TargetType="{x:Type StackPanel}">
<Setter Property="Visibility" Value="Hidden" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsRefreshing}" Value="False" />
<Condition Binding="{Binding IsNetworkAvailable}" Value="True" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="Visibility" Value="Visible" />
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
<TextBlock Text="{x:Static localization:Strings.Network}" Style="{StaticResource HeaderTextBlock}" />
<Grid>
<Grid.Resources>
<Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource CenterTextBlock}" />
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource TextBlockAsTextBox}">
<Setter Property="ContextMenu" Value="{StaticResource CopyContextMenu}" />
<Setter Property="TextWrapping" Value="NoWrap" />
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="10" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{x:Static localization:Strings.IPAddress}" />
<TextBox Grid.Column="2" Grid.Row="0" Text="{Binding NetworkInterfaceInfo.IPv4Address, Converter={StaticResource IPAddressArrayToStringConverter}}" />
<TextBlock Grid.Column="0" Grid.Row="1" Text="{x:Static localization:Strings.Subnetmask}" />
<TextBox Grid.Column="2" Grid.Row="1" Text="{Binding NetworkInterfaceInfo.Subnetmask, Converter={StaticResource IPAddressArrayToStringConverter}}" />
<TextBlock Grid.Column="0" Grid.Row="2" Text="{x:Static localization:Strings.Gateway}" />
<TextBox Grid.Column="2" Grid.Row="2" Text="{Binding NetworkInterfaceInfo.IPv4Gateway, Converter={StaticResource IPAddressArrayToStringConverter}}" />
<TextBlock Grid.Column="0" Grid.Row="3" Text="{x:Static localization:Strings.Speed}" />
<TextBox Grid.Column="2" Grid.Row="3" Text="{Binding NetworkInterfaceInfo.Speed, Converter={StaticResource Bytes1000ToSpeedConverter}}" />
</Grid>
</StackPanel>
<StackPanel VerticalAlignment="Center" Grid.Row="0">
<StackPanel.Style>
<Style TargetType="{x:Type StackPanel}">
<Setter Property="Visibility" Value="Hidden" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsRefreshing}" Value="False" />
<Condition Binding="{Binding IsNetworkAvailable}" Value="False" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="Visibility" Value="Visible" />
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
<Rectangle Grid.Column="0" Grid.Row="2" Width="48" Height="48" Fill="{DynamicResource GrayBrush3}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Modern Kind=NetworkDisconnect}" />
</Rectangle.OpacityMask>
</Rectangle>
<TextBlock Text="{x:Static localization:Strings.NetworkUnavailable}" Style="{StaticResource MessageTextBlock}" />
</StackPanel>
<StackPanel Grid.Row="2" Margin="0,0,0,10" Visibility="{Binding IsCountdownRunning, Converter={StaticResource BooleanToVisibilityCollapsedConverter}}">
<TextBlock Text="{Binding CountdownText}" Foreground="{DynamicResource GrayBrush5}" Style="{StaticResource DefaultTextBlock}" Margin="0,0,0,10"/>
<mahAppsControls:MetroProgressBar Value="{Binding CountdownValue}" Minimum="0" Maximum="10" Foreground="{DynamicResource AccentColorBrush}" />
</StackPanel>
<Button Grid.Row="3" Content="{x:Static localization:Strings.Open}" Command="{Binding OpenMainWindowCommand}" Style="{StaticResource DefaultButton}" />
</Grid>
</mahAppsControls:MetroWindow>