Develop #10
@@ -14,5 +14,15 @@
|
||||
<views:LoginView />
|
||||
<!-- This is a UserControl -->
|
||||
</DataTemplate>
|
||||
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<!--<ResourceDictionary Source="Styles/Fonts.xaml"/>-->
|
||||
<ResourceDictionary Source="Styles/Colors.xaml"/>
|
||||
<ResourceDictionary Source="Styles/Buttons.xaml"/>
|
||||
<!--<ResourceDictionary Source="Styles/Texts.xaml"/>
|
||||
<ResourceDictionary Source="Styles/Windows.xaml"/>-->
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
<ApplicationIcon>Images\Logo\icon1.ico</ApplicationIcon>
|
||||
<ApplicationIcon></ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -20,7 +20,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Styles\" />
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\Hashing\Hashing.projitems" Label="Shared" />
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ClientApp.Styles">
|
||||
|
||||
xmlns:local="clr-namespace:ClientApp">
|
||||
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="Colors.xaml"/>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
<Style TargetType="{x:Type Button}" x:Key="Hoverless">
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="BorderThickness" Value="0"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type Button}">
|
||||
<Border Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}">
|
||||
<ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
@@ -1,5 +1,21 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ClientApp.Styles">
|
||||
|
||||
xmlns:local="clr-namespace:ClientApp">
|
||||
|
||||
<Color x:Key="BackgroundLight">#efefef</Color>
|
||||
<SolidColorBrush x:Key="BackgroundLightBrush" Color="{StaticResource BackgroundLight}"/>
|
||||
|
||||
|
||||
<Color x:Key="BackgroundVeryLight">#fafafa</Color>
|
||||
<SolidColorBrush x:Key="BackgroundVeryLightBrush" Color="{StaticResource BackgroundVeryLight}"/>
|
||||
|
||||
<Color x:Key="ForegroundMain">#686868</Color>
|
||||
<SolidColorBrush x:Key="ForegroundMainBrush" Color="{StaticResource ForegroundMain}"/>
|
||||
|
||||
<Color x:Key="ForegroundVeryDark">#000</Color>
|
||||
<SolidColorBrush x:Key="ForegroundVeryDarkBrush" Color="{StaticResource ForegroundVeryDark}"/>
|
||||
|
||||
<Color x:Key="ForegroundWhite">#fff</Color>
|
||||
<SolidColorBrush x:Key="ForegroundWhiteBrush" Color="{StaticResource ForegroundWhite}"/>
|
||||
|
||||
</ResourceDictionary>
|
||||
5
ClientApp/Styles/Fonts.xaml
Normal file
5
ClientApp/Styles/Fonts.xaml
Normal file
@@ -0,0 +1,5 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ClientApp">
|
||||
|
||||
</ResourceDictionary>
|
||||
@@ -1,5 +1,5 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ClientApp.Styles">
|
||||
|
||||
xmlns:local="clr-namespace:ClientApp">
|
||||
|
||||
</ResourceDictionary>
|
||||
@@ -1,5 +1,5 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ClientApp.Styles">
|
||||
|
||||
xmlns:local="clr-namespace:ClientApp">
|
||||
|
||||
</ResourceDictionary>
|
||||
@@ -7,6 +7,11 @@ namespace ClientApp.Utils
|
||||
{
|
||||
public abstract class ObservableObject : INotifyPropertyChanged
|
||||
{
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
public event PropertyChangedEventHandler PropertyChanged = (sender, e) => { };
|
||||
|
||||
public void OnPropertyChanged(string name)
|
||||
{
|
||||
PropertyChanged(this, new PropertyChangedEventArgs(name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,18 +3,82 @@ using ClientApp.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
|
||||
namespace ClientApp.ViewModels
|
||||
{
|
||||
class MainWindowViewModel : ObservableObject
|
||||
{
|
||||
#region private members
|
||||
|
||||
private Window mWindow;
|
||||
|
||||
private int mOuterMarginSize = 10;
|
||||
private int mWindowRadius = 10;
|
||||
|
||||
#endregion
|
||||
|
||||
#region public properties
|
||||
public Info InfoModel { get; set; }
|
||||
|
||||
public ObservableObject SelectedViewModel { get; set; }
|
||||
|
||||
public Client client { get; }
|
||||
|
||||
public MainWindowViewModel(Client client)
|
||||
/// <summary>
|
||||
/// size of the resize border around the window
|
||||
/// </summary>
|
||||
public int ResizeBorder { get; set; } = 6;
|
||||
|
||||
public Thickness ResizeBorderThickness { get { return new Thickness(ResizeBorder + OuterMarginSize); } }
|
||||
|
||||
public Thickness OuterMarginThickness { get { return new Thickness(OuterMarginSize); } }
|
||||
|
||||
public CornerRadius WindowCornerRadius { get { return new CornerRadius(WindowRadius); } }
|
||||
|
||||
public int OuterMarginSize
|
||||
{
|
||||
get
|
||||
{
|
||||
return mWindow.WindowState == WindowState.Maximized ? 0 : mOuterMarginSize;
|
||||
}
|
||||
set
|
||||
{
|
||||
mOuterMarginSize = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int WindowRadius
|
||||
{
|
||||
get
|
||||
{
|
||||
return mWindow.WindowState == WindowState.Maximized ? 0 : mWindowRadius;
|
||||
}
|
||||
set
|
||||
{
|
||||
mWindowRadius = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int TitleHeight { get; set; } = 42;
|
||||
|
||||
public GridLength TitleHeightGridLegth { get { return new GridLength(TitleHeight + ResizeBorder); } }
|
||||
|
||||
#endregion
|
||||
|
||||
public MainWindowViewModel(Window window, Client client)
|
||||
{
|
||||
this.mWindow = window;
|
||||
|
||||
this.mWindow.StateChanged += (sender, e) =>
|
||||
{
|
||||
OnPropertyChanged(nameof(ResizeBorderThickness));
|
||||
OnPropertyChanged(nameof(OuterMarginThickness));
|
||||
OnPropertyChanged(nameof(WindowCornerRadius));
|
||||
OnPropertyChanged(nameof(OuterMarginSize));
|
||||
OnPropertyChanged(nameof(WindowRadius));
|
||||
};
|
||||
|
||||
this.InfoModel = new Info();
|
||||
this.client = client;
|
||||
LoginViewModel loginViewModel = new LoginViewModel(this);
|
||||
|
||||
@@ -9,10 +9,67 @@
|
||||
mc:Ignorable="d"
|
||||
WindowStyle="None"
|
||||
AllowsTransparency="True"
|
||||
Title="Whaazzzzuuuuuuuup">
|
||||
<!--Icon="pack://application:,,,/Images/Logo/icon1_small.ico"-->
|
||||
<Grid>
|
||||
x:Name="applicatonWindow"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
Title="Whaazzzzuuuuuuuup"
|
||||
Width="500"
|
||||
Height="500">
|
||||
<!--Icon="pack://application:,,,/Images/Log/icon1_small.ico"-->
|
||||
|
||||
<Window.Resources>
|
||||
<Style TargetType="{x:Type local:MainWindow}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type Window}">
|
||||
<Border Padding="{Binding OuterMarginThickness, FallbackValue=10}" >
|
||||
<Grid>
|
||||
<Border CornerRadius="{Binding WindowCornerRadius, FallbackValue=10}"
|
||||
Background="#efefef">
|
||||
<Border.Effect>
|
||||
<DropShadowEffect ShadowDepth="0" Opacity="0.2"/>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="{Binding TitleHeightGridLength, FallbackValue=42}"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="*"/>
|
||||
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- Title bar -->
|
||||
<Grid Grid.Column="0" Grid.Row="0" Panel.ZIndex="1" Background="Red">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<!-- icon -->
|
||||
<Button Style="{StaticResource Hoverless}" WindowChrome.IsHitTestVisibleInChrome="True" Command="{Binding MenuCommand}">
|
||||
<Image Source="/Images/Stone.png"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</Window.Resources>
|
||||
|
||||
<WindowChrome.WindowChrome>
|
||||
<WindowChrome
|
||||
ResizeBorderThickness="{Binding ResizeBorderThickness}"
|
||||
CaptionHeight="{Binding TitleHeight}"
|
||||
CornerRadius="0"
|
||||
GlassFrameThickness="0"/>
|
||||
</WindowChrome.WindowChrome>
|
||||
|
||||
<!--<Grid>
|
||||
<Frame Content="{Binding SelectedViewModel}" Focusable="False"/>
|
||||
<Label Content="gemaakt door: mensen" DockPanel.Dock="Bottom" HorizontalAlignment="Right" VerticalAlignment="Bottom" FontStyle="Italic" Foreground="Gray"/>
|
||||
</Grid>
|
||||
</Grid>-->
|
||||
</Window>
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace ClientApp
|
||||
Client client = new Client();
|
||||
|
||||
InitializeComponent();
|
||||
DataContext = new MainWindowViewModel(client);
|
||||
DataContext = new MainWindowViewModel(this, client);
|
||||
|
||||
//BLEHandler bLEHandler = new BLEHandler(client);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user