Files
Artemis/src/Artemis.UI/Views/Screens/RootView.xaml
T

146 lines
8.1 KiB
XML

<metro:MetroWindow x:Class="Artemis.UI.Views.Screens.RootView"
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:metro="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:s="https://github.com/canton7/Stylet"
xmlns:abstract="clr-namespace:Artemis.Core.Plugins.Abstract;assembly=Artemis.Core"
xmlns:screens="clr-namespace:Artemis.UI.ViewModels.Screens"
mc:Ignorable="d"
GlowBrush="{DynamicResource AccentColorBrush}"
FontFamily="{StaticResource DefaultFont}"
Title="Artemis"
d:DesignHeight="639.411"
d:DesignWidth="1113.251"
d:DataContext="{d:DesignInstance screens:RootViewModel}"
Icon="/Artemis.UI;component/Resources/logo-512.png">
<metro:MetroWindow.LeftWindowCommands>
<metro:WindowCommands>
<!-- Make the window title dissapear by providing an empty overwrite of WindowCommands -->
</metro:WindowCommands>
</metro:MetroWindow.LeftWindowCommands>
<metro:MetroWindow.IconTemplate>
<DataTemplate>
<Grid Width="{TemplateBinding Width}"
Height="{TemplateBinding Height}"
Background="Transparent"
RenderOptions.BitmapScalingMode="HighQuality"
Margin="0,0,-10,0">
<Image Source="{StaticResource BowIcon}" Stretch="Uniform" Margin="6" />
</Grid>
</DataTemplate>
</metro:MetroWindow.IconTemplate>
<materialDesign:DialogHost Identifier="RootDialog">
<materialDesign:DrawerHost IsLeftDrawerOpen="{Binding ElementName=MenuToggleButton, Path=IsChecked}">
<materialDesign:DrawerHost.LeftDrawerContent>
<DockPanel MinWidth="212">
<ToggleButton Style="{StaticResource MaterialDesignHamburgerToggleButton}"
DockPanel.Dock="Top"
HorizontalAlignment="Right"
Margin="16"
IsChecked="{Binding ElementName=MenuToggleButton, Path=IsChecked, Mode=TwoWay}" />
<!-- Built-in pages -->
<ListBox Margin="0 16 0 16"
SelectedIndex="0"
DockPanel.Dock="Top"
SelectedItem="{Binding SelectedPage}">
<ListBoxItem x:Name="Home">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="Home"
Margin="0,0,8,0" />
<TextBlock>Home</TextBlock>
</StackPanel>
</ListBoxItem>
<ListBoxItem x:Name="News">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="Newspaper"
Margin="0,0,8,0" />
<TextBlock>News</TextBlock>
</StackPanel>
</ListBoxItem>
<ListBoxItem x:Name="Workshop">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="TestTube"
Margin="0,0,8,0" />
<TextBlock>Workshop</TextBlock>
</StackPanel>
</ListBoxItem>
<ListBoxItem x:Name="SurfaceEditor">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="Edit"
Margin="0,0,8,0" />
<TextBlock>Surface Editor</TextBlock>
</StackPanel>
</ListBoxItem>
<ListBoxItem x:Name="Settings">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="Settings"
Margin="0,0,8,0" />
<TextBlock>Settings</TextBlock>
</StackPanel>
</ListBoxItem>
</ListBox>
<!-- Modules -->
<TextBlock Margin="8,8,0,8"
DockPanel.Dock="Top">
Modules
</TextBlock>
<Border BorderThickness="0 1 0 0"
BorderBrush="{DynamicResource MaterialDesignDivider}">
<ListBox Margin="0 0 0 16"
SelectedIndex="-1"
ItemsSource="{Binding Modules}"
SelectedItem="{Binding SelectedModule}"
DockPanel.Dock="Top">
<ListBox.ItemTemplate>
<DataTemplate DataType="abstract:Module">
<DockPanel HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Margin="0">
<materialDesign:PackIcon Kind="Home"
Margin="0,0,8,0" />
<TextBlock Text="{Binding DisplayName}" />
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Border>
</DockPanel>
</materialDesign:DrawerHost.LeftDrawerContent>
<DockPanel>
<materialDesign:ColorZone Padding="10"
materialDesign:ShadowAssist.ShadowDepth="Depth2"
Mode="PrimaryMid"
DockPanel.Dock="Top">
<DockPanel>
<ToggleButton Style="{StaticResource MaterialDesignHamburgerToggleButton}"
IsChecked="{Binding MenuOpen}"
x:Name="MenuToggleButton" />
<materialDesign:PopupBox DockPanel.Dock="Right"
PlacementMode="BottomAndAlignRightEdges"
StaysOpen="False">
<StackPanel>
<Button Content="Hello World" />
<Button Content="Nice Popup" />
<Button Content="Can't Touch This"
IsEnabled="False" />
<Separator />
<Button Content="Goodbye" />
</StackPanel>
</materialDesign:PopupBox>
<TextBlock HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="22"
Text="{Binding ActiveItem.Title}" />
</DockPanel>
</materialDesign:ColorZone>
<ContentControl s:View.Model="{Binding ActiveItem}" />
</DockPanel>
</materialDesign:DrawerHost>
</materialDesign:DialogHost>
</metro:MetroWindow>