-
Notifications
You must be signed in to change notification settings - Fork 0
/
MainWindow.xaml
108 lines (102 loc) · 4.7 KB
/
MainWindow.xaml
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
<Window x:Class="Elementary.MainWindow"
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:local="clr-namespace:Elementary"
mc:Ignorable="d"
WindowStyle="None"
ResizeMode="CanResizeWithGrip"
Background="Transparent"
AllowsTransparency="True"
Title="MainWindow"
Height="500"
Width="900">
<Border Background="{StaticResource PrimaryDark2Brush}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition />
<ColumnDefinition Width="60" />
</Grid.ColumnDefinitions>
<!-- Top bar -->
<Rectangle x:Name="TopDragBar"
Fill="{StaticResource PrimaryDark1Brush}"
Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="3"
MouseLeftButtonDown="TopDragBar_MouseLeftButtonDown" />
<StackPanel Orientation="Horizontal">
<Image Source="Images/atom.jpg"
Width="20"
Height="20"
VerticalAlignment="Center"
Margin="10,0,6,0" />
<TextBlock Text="Elementary"
VerticalAlignment="Center" />
</StackPanel>
<UniformGrid Grid.Row="0"
Grid.Column="2"
Rows="1"
Columns="2">
<Button x:Name="MinimizeWindow"
Content="🗖"
Style="{StaticResource ActionButtonTemplate}"
Click="MinimizeWindow_Click" />
<Button x:Name="CloseWindow"
Content="✖"
Style="{StaticResource ActionButtonTemplate}"
Click="CloseWindow_Click" />
</UniformGrid>
<!-- Left side bar -->
<DockPanel Grid.Row="1"
Grid.Column="0"
Background="{StaticResource PrimaryDark1Brush}">
<ListView x:Name="LeftSidebarBorder"
DockPanel.Dock="Top"
Background="Transparent"
ItemsSource="{Binding NavigationItemList}"
SelectedItem="{Binding CurrentPage}"
ItemContainerStyle="{StaticResource NavigationItem}"
BorderThickness="0"
d:ItemsSource="{d:SampleData ItemCount=3}" />
<TextBlock DockPanel.Dock="Bottom"
Text="Elementary 2024, Version 1."
Margin="10,0,0,8"
FontSize="12"
HorizontalAlignment="Center"
VerticalAlignment="Bottom"
Foreground="#19ffffff" />
</DockPanel>
<!-- Main Content -->
<ContentControl x:Name="MainContent"
Grid.Row="1"
Grid.Column="1"
Grid.ColumnSpan="2">
<ContentControl.Style>
<Style TargetType="ContentControl">
<Setter Property="ContentTemplate"
Value="{StaticResource HomeView}" />
<Style.Triggers>
<!-- Based on CurrentPage value, change view by setting ContentTemplate -->
<DataTrigger Binding="{Binding CurrentPage}"
Value="Guide">
<Setter Property="ContentTemplate"
Value="{StaticResource AboutView}" />
</DataTrigger>
<DataTrigger Binding="{Binding CurrentPage}"
Value="Information">
<Setter Property="ContentTemplate"
Value="{StaticResource InfoView}" />
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
</Grid>
</Border>
</Window>