添加项目文件。
This commit is contained in:
parent
584b527495
commit
c6e5207d9e
BIN
StandardDesign.Assets/Fonts/iconfont.ttf
Normal file
BIN
StandardDesign.Assets/Fonts/iconfont.ttf
Normal file
Binary file not shown.
BIN
StandardDesign.Assets/Images/Login/Trademark.png
Normal file
BIN
StandardDesign.Assets/Images/Login/Trademark.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
BIN
StandardDesign.Assets/Images/Login/Warning.png
Normal file
BIN
StandardDesign.Assets/Images/Login/Warning.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.6 KiB |
BIN
StandardDesign.Assets/Images/Login/bird.png
Normal file
BIN
StandardDesign.Assets/Images/Login/bird.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
StandardDesign.Assets/Images/Login/logo.png
Normal file
BIN
StandardDesign.Assets/Images/Login/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
BIN
StandardDesign.Assets/Images/Login/ship.png
Normal file
BIN
StandardDesign.Assets/Images/Login/ship.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
BIN
StandardDesign.Assets/Images/Login/wave.png
Normal file
BIN
StandardDesign.Assets/Images/Login/wave.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
44
StandardDesign.Assets/StandardDesign.Assets.csproj
Normal file
44
StandardDesign.Assets/StandardDesign.Assets.csproj
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<UseWPF>true</UseWPF>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<None Remove="Fonts\iconfont.ttf" />
|
||||||
|
<None Remove="Images\Login\bird.png" />
|
||||||
|
<None Remove="Images\Login\logo.png" />
|
||||||
|
<None Remove="Images\Login\ship.png" />
|
||||||
|
<None Remove="Images\Login\Trademark.png" />
|
||||||
|
<None Remove="Images\Login\Warning.png" />
|
||||||
|
<None Remove="Images\Login\wave.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="Fonts\iconfont.ttf">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\Login\bird.png">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\Login\logo.png">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\Login\ship.png">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\Login\Trademark.png">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\Login\Warning.png">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
<Resource Include="Images\Login\wave.png">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Resource>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
129
StandardDesign.Assets/Styles/ButtonStyles.xaml
Normal file
129
StandardDesign.Assets/Styles/ButtonStyles.xaml
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||||
|
|
||||||
|
<Style TargetType="Button" x:Key="NormalButtonStyle">
|
||||||
|
<Setter Property="Effect">
|
||||||
|
<Setter.Value>
|
||||||
|
<DropShadowEffect BlurRadius="10" Color="#333" ShadowDepth="0" Opacity="0.1"/>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
<Setter Property="Background" Value="Transparent"/>
|
||||||
|
<Setter Property="Foreground" Value="White"/>
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="Button">
|
||||||
|
<Border BorderBrush="#16a1ff" BorderThickness="0" CornerRadius="5" ClipToBounds="True">
|
||||||
|
<Border.Background>
|
||||||
|
<LinearGradientBrush StartPoint="0,1" EndPoint="1,0">
|
||||||
|
<GradientStop Color="#16a1ff" Offset="0.3"/>
|
||||||
|
<GradientStop Color="#01c8fe" Offset="1"/>
|
||||||
|
</LinearGradientBrush>
|
||||||
|
</Border.Background>
|
||||||
|
<Grid>
|
||||||
|
<Border CornerRadius="5">
|
||||||
|
<Border.Background>
|
||||||
|
<RadialGradientBrush Center="0,1" GradientOrigin="0,1" RadiusX="0.4" RadiusY="0.8">
|
||||||
|
<GradientStop Color="#88b4fee7" Offset="0.2"/>
|
||||||
|
<GradientStop Color="Transparent" Offset="1"/>
|
||||||
|
</RadialGradientBrush>
|
||||||
|
</Border.Background>
|
||||||
|
</Border>
|
||||||
|
<Border CornerRadius="4" Background="{TemplateBinding Background}"/>
|
||||||
|
<Border Background="#11000000" CornerRadius="5" Visibility="Collapsed" Name="mask"/>
|
||||||
|
|
||||||
|
<ContentPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||||
|
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter TargetName="mask" Property="Visibility" Value="Visible"/>
|
||||||
|
</Trigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<Style TargetType="Button" x:Key="CancelButtonStyle">
|
||||||
|
<Setter Property="Effect">
|
||||||
|
<Setter.Value>
|
||||||
|
<DropShadowEffect BlurRadius="10" Color="#333" ShadowDepth="0" Opacity="0.1"/>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
<Setter Property="Foreground" Value="#555"/>
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="Button">
|
||||||
|
<Border BorderBrush="#DDD" BorderThickness="1" CornerRadius="5" ClipToBounds="True">
|
||||||
|
<Border.Background>
|
||||||
|
<LinearGradientBrush StartPoint="0,1" EndPoint="1,0">
|
||||||
|
<GradientStop Color="#DDD" Offset="0.3"/>
|
||||||
|
<GradientStop Color="#EEE" Offset="1"/>
|
||||||
|
</LinearGradientBrush>
|
||||||
|
</Border.Background>
|
||||||
|
<Grid>
|
||||||
|
<Border CornerRadius="5">
|
||||||
|
<Border.Background>
|
||||||
|
<RadialGradientBrush Center="0,1" GradientOrigin="0,1" RadiusX="0.4" RadiusY="0.8">
|
||||||
|
<GradientStop Color="#EEE" Offset="0.2"/>
|
||||||
|
<GradientStop Color="Transparent" Offset="1"/>
|
||||||
|
</RadialGradientBrush>
|
||||||
|
</Border.Background>
|
||||||
|
</Border>
|
||||||
|
<Border Background="#08000000" CornerRadius="5" Visibility="Collapsed" Name="mask"/>
|
||||||
|
|
||||||
|
<ContentPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||||
|
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter TargetName="mask" Property="Visibility" Value="Visible"/>
|
||||||
|
</Trigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<Style TargetType="Button" x:Key="WindowControlButtonStyle">
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="Button">
|
||||||
|
<Grid Background="Transparent">
|
||||||
|
<Border Background="#11000000" Visibility="Collapsed" Name="mask"/>
|
||||||
|
<ContentPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||||
|
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
|
||||||
|
</Grid>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter TargetName="mask" Property="Visibility" Value="Visible"/>
|
||||||
|
</Trigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<Style TargetType="Button" x:Key="ToolButtonStlye">
|
||||||
|
<Setter Property="Foreground" Value="#888"/>
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="Button">
|
||||||
|
<Border CornerRadius="3" BorderBrush="#EEE" BorderThickness="1"
|
||||||
|
Background="#F7F9FA" Name="border">
|
||||||
|
<ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"
|
||||||
|
Margin="10,6"/>
|
||||||
|
</Border>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter TargetName="border" Property="BorderBrush" Value="#EEE"/>
|
||||||
|
<Setter TargetName="border" Property="Background" Value="#EEE"/>
|
||||||
|
</Trigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
</ResourceDictionary>
|
||||||
86
StandardDesign.Assets/Styles/ComboBoxStyles.xaml
Normal file
86
StandardDesign.Assets/Styles/ComboBoxStyles.xaml
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||||
|
|
||||||
|
<ControlTemplate x:Key="ComboBoxToggleButton"
|
||||||
|
TargetType="{x:Type ToggleButton}">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition />
|
||||||
|
<ColumnDefinition Width="20" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Border x:Name="Border" Grid.ColumnSpan="2" CornerRadius="3" BorderThickness="1" BorderBrush="#EEE"
|
||||||
|
Background="#FFF"/>
|
||||||
|
<Path x:Name="Arrow" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"
|
||||||
|
Data="M 0 0 L 4 4 L 8 0 Z" Fill="#888">
|
||||||
|
</Path>
|
||||||
|
</Grid>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter TargetName="Border" Property="Background" Value="#EEE"/>
|
||||||
|
</Trigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
|
||||||
|
<ControlTemplate x:Key="ComboBoxTextBox"
|
||||||
|
TargetType="{x:Type TextBox}">
|
||||||
|
<Border x:Name="PART_ContentHost"
|
||||||
|
Focusable="False"
|
||||||
|
Background="{TemplateBinding Background}" />
|
||||||
|
</ControlTemplate>
|
||||||
|
|
||||||
|
<Style TargetType="ComboBox" x:Key="PropComboBoxStyle">
|
||||||
|
<Setter Property="SnapsToDevicePixels" Value="true" />
|
||||||
|
<Setter Property="OverridesDefaultStyle" Value="true" />
|
||||||
|
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
|
||||||
|
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
|
||||||
|
<Setter Property="ScrollViewer.CanContentScroll" Value="true" />
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="{x:Type ComboBox}">
|
||||||
|
<Grid>
|
||||||
|
<ToggleButton x:Name="ToggleButton" Template="{StaticResource ComboBoxToggleButton}"
|
||||||
|
Focusable="false"
|
||||||
|
ClickMode="Press"
|
||||||
|
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay,
|
||||||
|
RelativeSource={RelativeSource TemplatedParent}}"/>
|
||||||
|
<ContentPresenter x:Name="ContentSite"
|
||||||
|
IsHitTestVisible="False"
|
||||||
|
Content="{TemplateBinding SelectionBoxItem}"
|
||||||
|
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
||||||
|
ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
|
||||||
|
Margin="5,3"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
HorizontalAlignment="Left">
|
||||||
|
</ContentPresenter>
|
||||||
|
<Popup x:Name="Popup" Placement="Bottom" IsOpen="{TemplateBinding IsDropDownOpen}"
|
||||||
|
AllowsTransparency="True" Focusable="False" PopupAnimation="Slide">
|
||||||
|
<Grid x:Name="DropDown" SnapsToDevicePixels="True" MinWidth="{TemplateBinding ActualWidth}"
|
||||||
|
MaxHeight="{TemplateBinding MaxDropDownHeight}">
|
||||||
|
<Border x:Name="DropDownBorder" BorderThickness="1" BorderBrush="#FF888888" Background="White">
|
||||||
|
</Border>
|
||||||
|
<ScrollViewer Margin="4,6,4,6" SnapsToDevicePixels="True">
|
||||||
|
<StackPanel IsItemsHost="True"
|
||||||
|
KeyboardNavigation.DirectionalNavigation="Contained" />
|
||||||
|
</ScrollViewer>
|
||||||
|
</Grid>
|
||||||
|
</Popup>
|
||||||
|
</Grid>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="HasItems" Value="false">
|
||||||
|
<Setter TargetName="DropDownBorder" Property="MinHeight" Value="95" />
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsGrouping" Value="true">
|
||||||
|
<Setter Property="ScrollViewer.CanContentScroll" Value="false" />
|
||||||
|
</Trigger>
|
||||||
|
<Trigger SourceName="Popup" Property="AllowsTransparency" Value="true">
|
||||||
|
<Setter TargetName="DropDownBorder" Property="CornerRadius" Value="4" />
|
||||||
|
<Setter TargetName="DropDownBorder" Property="Margin" Value="0,2,0,0" />
|
||||||
|
</Trigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
|
||||||
|
</ResourceDictionary>
|
||||||
158
StandardDesign.Assets/Styles/DataGridStyle.xaml
Normal file
158
StandardDesign.Assets/Styles/DataGridStyle.xaml
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||||
|
|
||||||
|
<Style TargetType="DataGridCell" x:Key="DataGridCellStyle">
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="DataGridCell">
|
||||||
|
<Border Background="Transparent">
|
||||||
|
<ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Stretch"/>
|
||||||
|
</Border>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
<Style.Triggers>
|
||||||
|
<Trigger Property="IsSelected" Value="True">
|
||||||
|
<Setter Property="Foreground" Value="#444"/>
|
||||||
|
</Trigger>
|
||||||
|
<DataTrigger Binding="{Binding State}" Value="0">
|
||||||
|
<Setter Property="Foreground" Value="red"/>
|
||||||
|
</DataTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<Style TargetType="DataGridColumnHeader" x:Key="DataGridColumnHeaderfStyle">
|
||||||
|
<Setter Property="Background" Value="#A9CFF9"/>
|
||||||
|
<Setter Property="Height" Value="30"/>
|
||||||
|
<Setter Property="BorderThickness" Value="0"/>
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="DataGridColumnHeader">
|
||||||
|
<Border Background="{TemplateBinding Background}"
|
||||||
|
BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
|
BorderThickness="{TemplateBinding BorderThickness}"
|
||||||
|
CornerRadius="5" Margin="0,1">
|
||||||
|
<TextBlock Text="{TemplateBinding Content}" VerticalAlignment="Center" HorizontalAlignment="Center"
|
||||||
|
Foreground="#FFF"/>
|
||||||
|
</Border>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<Style TargetType="DataGridRow" x:Key="DataGridRowStyle">
|
||||||
|
<Setter Property="Height" Value="30"/>
|
||||||
|
<Setter Property="Background" Value="Transparent"/>
|
||||||
|
<Setter Property="BorderThickness" Value="0"/>
|
||||||
|
<!--行头样式-->
|
||||||
|
<Setter Property="HeaderStyle">
|
||||||
|
<Setter.Value>
|
||||||
|
<Style TargetType="DataGridRowHeader">
|
||||||
|
<Setter Property="Width" Value="0"/>
|
||||||
|
</Style>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
|
||||||
|
|
||||||
|
<Style.Triggers>
|
||||||
|
<!--条纹间隔,需要配合DataGrid.AlternationCount属性-->
|
||||||
|
<Trigger Property="AlternationIndex" Value="1" >
|
||||||
|
<Setter Property="Background" Value="#44FFFFFF" />
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter Property="Background" Value="#22FFFFFF"/>
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsSelected" Value="True">
|
||||||
|
<Setter Property="Background" Value="#33FFFFFF"/>
|
||||||
|
</Trigger>
|
||||||
|
<DataTrigger Binding="{Binding State}" Value="0">
|
||||||
|
<Setter Property="Foreground" Value="Red"/>
|
||||||
|
</DataTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<!--DataGrid样式-->
|
||||||
|
<Style TargetType="{x:Type DataGrid}">
|
||||||
|
<!--网格线颜色-->
|
||||||
|
<Setter Property="CanUserResizeColumns" Value="True"/>
|
||||||
|
<Setter Property="Foreground" Value="#444" />
|
||||||
|
<Setter Property="Background" Value="Transparent" />
|
||||||
|
<Setter Property="BorderBrush" Value="Transparent" />
|
||||||
|
<Setter Property="HorizontalGridLinesBrush" Value="#EEE"/>
|
||||||
|
<Setter Property="VerticalGridLinesBrush" Value="Transparent"/>
|
||||||
|
<Setter Property="CanUserAddRows" Value="False"/>
|
||||||
|
<Setter Property="AutoGenerateColumns" Value="False"/>
|
||||||
|
<Setter Property="IsReadOnly" Value="True"/>
|
||||||
|
<Setter Property="CanUserSortColumns" Value="False"/>
|
||||||
|
<Setter Property="AlternationCount" Value="2"/>
|
||||||
|
|
||||||
|
<Setter Property="CellStyle" Value="{StaticResource DataGridCellStyle}"/>
|
||||||
|
<Setter Property="ColumnHeaderStyle" Value="{StaticResource DataGridColumnHeaderfStyle}"/>
|
||||||
|
<Setter Property="RowStyle" Value="{StaticResource DataGridRowStyle}"/>
|
||||||
|
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="{x:Type DataGrid}">
|
||||||
|
<Border x:Name="border" SnapsToDevicePixels="True" BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
|
BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
|
||||||
|
<Border.Background>
|
||||||
|
<SolidColorBrush Color="{DynamicResource ControlLightColor}" />
|
||||||
|
</Border.Background>
|
||||||
|
<ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
|
||||||
|
<ScrollViewer.Template>
|
||||||
|
<ControlTemplate TargetType="{x:Type ScrollViewer}">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="*" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter"
|
||||||
|
Grid.Column="0" Grid.ColumnSpan="3"
|
||||||
|
Visibility="{Binding HeadersVisibility,
|
||||||
|
ConverterParameter={x:Static DataGridHeadersVisibility.Column},
|
||||||
|
Converter={x:Static DataGrid.HeadersVisibilityConverter},
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
|
||||||
|
|
||||||
|
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter" Grid.ColumnSpan="3"
|
||||||
|
Grid.Row="1" CanContentScroll="{TemplateBinding CanContentScroll}" />
|
||||||
|
|
||||||
|
<ScrollBar x:Name="PART_VerticalScrollBar" Grid.Column="1"
|
||||||
|
Grid.Row="1" Orientation="Vertical" Width="12"
|
||||||
|
ViewportSize="{TemplateBinding ViewportHeight}"
|
||||||
|
Maximum="{TemplateBinding ScrollableHeight}"
|
||||||
|
Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
|
||||||
|
Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
|
||||||
|
HorizontalAlignment="Right"/>
|
||||||
|
|
||||||
|
<Grid Grid.Column="1" Grid.Row="2">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="1"
|
||||||
|
Orientation="Horizontal" ViewportSize="{TemplateBinding ViewportWidth}"
|
||||||
|
Maximum="{TemplateBinding ScrollableWidth}"
|
||||||
|
Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"
|
||||||
|
Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"/>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</ControlTemplate>
|
||||||
|
</ScrollViewer.Template>
|
||||||
|
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||||
|
</ScrollViewer>
|
||||||
|
</Border>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
</ResourceDictionary>
|
||||||
8
StandardDesign.Common/Class1.cs
Normal file
8
StandardDesign.Common/Class1.cs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
namespace StandardDesign.Common
|
||||||
|
{
|
||||||
|
public class Class1
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
10
StandardDesign.Common/StandardDesign.Common.csproj
Normal file
10
StandardDesign.Common/StandardDesign.Common.csproj
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<UseWPF>true</UseWPF>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
8
StandardDesign.Components/Class1.cs
Normal file
8
StandardDesign.Components/Class1.cs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
namespace StandardDesign.Components
|
||||||
|
{
|
||||||
|
public class Class1
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
10
StandardDesign.Components/StandardDesign.Components.csproj
Normal file
10
StandardDesign.Components/StandardDesign.Components.csproj
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<UseWPF>true</UseWPF>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
8
StandardDesign.DataAccess/Class1.cs
Normal file
8
StandardDesign.DataAccess/Class1.cs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
namespace StandardDesign.DataAccess
|
||||||
|
{
|
||||||
|
public class Class1
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
10
StandardDesign.DataAccess/StandardDesign.DataAccess.csproj
Normal file
10
StandardDesign.DataAccess/StandardDesign.DataAccess.csproj
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<UseWPF>true</UseWPF>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
8
StandardDesign.Entities/Class1.cs
Normal file
8
StandardDesign.Entities/Class1.cs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
namespace StandardDesign.Entities
|
||||||
|
{
|
||||||
|
public class Class1
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
10
StandardDesign.Entities/StandardDesign.Entities.csproj
Normal file
10
StandardDesign.Entities/StandardDesign.Entities.csproj
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<UseWPF>true</UseWPF>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
8
StandardDesign.IDataAccess/Class1.cs
Normal file
8
StandardDesign.IDataAccess/Class1.cs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
namespace StandardDesign.IDataAccess
|
||||||
|
{
|
||||||
|
public class Class1
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
10
StandardDesign.IDataAccess/StandardDesign.IDataAccess.csproj
Normal file
10
StandardDesign.IDataAccess/StandardDesign.IDataAccess.csproj
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<UseWPF>true</UseWPF>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
8
StandardDesign.Models/Class1.cs
Normal file
8
StandardDesign.Models/Class1.cs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
namespace StandardDesign.Models
|
||||||
|
{
|
||||||
|
public class Class1
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
17
StandardDesign.Models/StandardDesign.Models.csproj
Normal file
17
StandardDesign.Models/StandardDesign.Models.csproj
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<UseWPF>true</UseWPF>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\StandardDesign.Common\StandardDesign.Common.csproj" />
|
||||||
|
<ProjectReference Include="..\StandardDesign.DataAccess\StandardDesign.DataAccess.csproj" />
|
||||||
|
<ProjectReference Include="..\StandardDesign.IDataAccess\StandardDesign.IDataAccess.csproj" />
|
||||||
|
<ProjectReference Include="..\StandardDesign.ViewModels\StandardDesign.ViewModels.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
10
StandardDesign.ViewModels/LoginViewModel.cs
Normal file
10
StandardDesign.ViewModels/LoginViewModel.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
using GalaSoft.MvvmLight;
|
||||||
|
|
||||||
|
namespace StandardDesign.ViewModels
|
||||||
|
{
|
||||||
|
public class LoginViewModel : ViewModelBase
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
14
StandardDesign.ViewModels/MainViewModel.cs
Normal file
14
StandardDesign.ViewModels/MainViewModel.cs
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
using GalaSoft.MvvmLight;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StandardDesign.ViewModels
|
||||||
|
{
|
||||||
|
public class MainViewModel : ViewModelBase
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
14
StandardDesign.ViewModels/StandardDesign.ViewModels.csproj
Normal file
14
StandardDesign.ViewModels/StandardDesign.ViewModels.csproj
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<UseWPF>true</UseWPF>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="MvvmLightLibs" Version="5.4.1.1" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
49
StandardDesign.ViewModels/ViewModelLocator.cs
Normal file
49
StandardDesign.ViewModels/ViewModelLocator.cs
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
using CommonServiceLocator;
|
||||||
|
using GalaSoft.MvvmLight;
|
||||||
|
using GalaSoft.MvvmLight.Ioc;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace StandardDesign.ViewModels
|
||||||
|
{
|
||||||
|
public class ViewModelLocator
|
||||||
|
{
|
||||||
|
public ViewModelLocator()
|
||||||
|
{
|
||||||
|
//管理对象的生命周期
|
||||||
|
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
|
||||||
|
|
||||||
|
//注册ioc容器
|
||||||
|
SimpleIoc.Default.Register<LoginViewModel>();
|
||||||
|
SimpleIoc.Default.Register<MainViewModel>();
|
||||||
|
|
||||||
|
// SimpleIoc.Default.Register<ILoacalDataAccess, LoacalDataAccess>();
|
||||||
|
}
|
||||||
|
// 这种属性定义方式会有歧义,感觉好像定义的字段
|
||||||
|
public LoginViewModel LoginViewModel => ServiceLocator.Current.GetInstance<LoginViewModel>();
|
||||||
|
public MainViewModel MainViewModel => ServiceLocator.Current.GetInstance<MainViewModel>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通过ViewModelLocator对象实例 进行对应的VM对象的销毁
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
|
public static void Cleanup<T>() where T : ViewModelBase
|
||||||
|
{
|
||||||
|
if (SimpleIoc.Default.IsRegistered<T>() && SimpleIoc.Default.ContainsCreated<T>())
|
||||||
|
{
|
||||||
|
var instances = SimpleIoc.Default.GetAllCreatedInstances<T>();
|
||||||
|
foreach (var instance in instances)
|
||||||
|
{
|
||||||
|
instance.Cleanup();
|
||||||
|
}
|
||||||
|
SimpleIoc.Default.Unregister<T>();
|
||||||
|
SimpleIoc.Default.Register<T>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
212
StandardDesign.Views/LoginView.xaml
Normal file
212
StandardDesign.Views/LoginView.xaml
Normal file
@ -0,0 +1,212 @@
|
|||||||
|
<Window x:Class="StandardDesign.Views.LoginView"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:local="clr-namespace:StandardDesign.Views"
|
||||||
|
xmlns:c="clr-namespace:StandardDesign.Common;assembly=StandardDesign.Common"
|
||||||
|
DataContext="{Binding Source={StaticResource locator},Path=LoginViewModel}"
|
||||||
|
mc:Ignorable="d" Name="win" FontFamily="Microsoft YaHei"
|
||||||
|
ResizeMode="NoResize" Background="#f1f5fd" WindowStartupLocation="CenterScreen"
|
||||||
|
Title="系统登录" Height="540" Width="900">
|
||||||
|
|
||||||
|
<!--Win7下的效果不一样-->
|
||||||
|
<WindowChrome.WindowChrome>
|
||||||
|
<WindowChrome GlassFrameThickness="1"/>
|
||||||
|
</WindowChrome.WindowChrome>
|
||||||
|
|
||||||
|
<Window.Resources>
|
||||||
|
<ResourceDictionary>
|
||||||
|
<ResourceDictionary.MergedDictionaries>
|
||||||
|
<ResourceDictionary Source="pack://application:,,,/StandardDesign.Assets;component/Styles/ButtonStyles.xaml"/>
|
||||||
|
|
||||||
|
<ResourceDictionary>
|
||||||
|
<Style TargetType="TextBox" x:Key="UserNameTextBoxStyle">
|
||||||
|
<Setter Property="FontSize" Value="13"/>
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="TextBox">
|
||||||
|
<Border BorderBrush="#DDD"
|
||||||
|
BorderThickness="0,0,0,1" Height="40"
|
||||||
|
SnapsToDevicePixels="True" Name="border">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="30"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text=""
|
||||||
|
FontFamily="{DynamicResource Iconfont}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
HorizontalAlignment="Center"
|
||||||
|
FontSize="15">
|
||||||
|
<TextBlock.Foreground>
|
||||||
|
<LinearGradientBrush StartPoint="0,1" EndPoint="1,0">
|
||||||
|
<GradientStop Color="#16a1ff" Offset="0"/>
|
||||||
|
<GradientStop Color="#b4fee7" Offset="0.65"/>
|
||||||
|
<GradientStop Color="#16a1ff" Offset="1"/>
|
||||||
|
</LinearGradientBrush>
|
||||||
|
</TextBlock.Foreground>
|
||||||
|
</TextBlock>
|
||||||
|
<TextBlock Text="请输入工号/手机号/用户名" Grid.Column="1" VerticalAlignment="Center"
|
||||||
|
Foreground="#DDD" Name="markText" Visibility="Collapsed"/>
|
||||||
|
<ScrollViewer Name="PART_ContentHost" Grid.Column="1"/>
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="IsMouseOver" Value="true">
|
||||||
|
<Setter Property="BorderBrush" TargetName="border" Value="#FF7EB4EA"/>
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsKeyboardFocused" Value="true">
|
||||||
|
<Setter Property="BorderBrush" TargetName="border" Value="#FF569DE5"/>
|
||||||
|
</Trigger>
|
||||||
|
<DataTrigger Binding="{Binding Path=Text,RelativeSource={RelativeSource Mode=Self}}" Value="">
|
||||||
|
<Setter Property="Visibility" TargetName="markText" Value="Visible"/>
|
||||||
|
</DataTrigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<Style TargetType="PasswordBox" x:Key="PasswordBoxStyle">
|
||||||
|
<Setter Property="FontSize" Value="13"/>
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="PasswordBox">
|
||||||
|
<Border BorderBrush="#DDD" BorderThickness="0,0,0,1" Height="40" SnapsToDevicePixels="True" Name="border">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="30"/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="" FontFamily="{DynamicResource Iconfont}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="15">
|
||||||
|
<TextBlock.Foreground>
|
||||||
|
<LinearGradientBrush StartPoint="0,1" EndPoint="1,0">
|
||||||
|
<GradientStop Color="#16a1ff" Offset="0"/>
|
||||||
|
<GradientStop Color="#b4fee7" Offset="0.65"/>
|
||||||
|
<GradientStop Color="#16a1ff" Offset="1"/>
|
||||||
|
</LinearGradientBrush>
|
||||||
|
</TextBlock.Foreground>
|
||||||
|
</TextBlock>
|
||||||
|
<TextBlock Text="请输入登录密码" Grid.Column="1" VerticalAlignment="Center" Foreground="#DDD" Name="markText"
|
||||||
|
Visibility="Collapsed"/>
|
||||||
|
<ScrollViewer Name="PART_ContentHost" Grid.Column="1"/>
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="IsMouseOver" Value="true">
|
||||||
|
<Setter Property="BorderBrush" TargetName="border" Value="#FF7EB4EA"/>
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsKeyboardFocused" Value="true">
|
||||||
|
<Setter Property="BorderBrush" TargetName="border" Value="#FF569DE5"/>
|
||||||
|
</Trigger>
|
||||||
|
<DataTrigger Binding="{Binding Path=User.Password}" Value="">
|
||||||
|
<Setter Property="Visibility" TargetName="markText" Value="Visible"/>
|
||||||
|
</DataTrigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
</ResourceDictionary>
|
||||||
|
</ResourceDictionary.MergedDictionaries>
|
||||||
|
</ResourceDictionary>
|
||||||
|
|
||||||
|
</Window.Resources>
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
<ColumnDefinition/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<!--左侧区域-->
|
||||||
|
<Grid Grid.Column="0" Background="#000A7B">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="70"/>
|
||||||
|
<RowDefinition Height="20"/>
|
||||||
|
<RowDefinition Height="120"/>
|
||||||
|
<RowDefinition Height="20"/>
|
||||||
|
<RowDefinition Height="70"/>
|
||||||
|
<RowDefinition Height="26"/>
|
||||||
|
<RowDefinition Height="26"/>
|
||||||
|
<RowDefinition Height="26" />
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<!--左上角Logo图标-->
|
||||||
|
<Border CornerRadius="10,0,0,10" BorderThickness="2" Width="100" Height="50" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10.0">
|
||||||
|
<Border.Background>
|
||||||
|
<ImageBrush ImageSource="pack://application:,,,/StandardDesign.Assets;component/Images/Login/logo.png" />
|
||||||
|
</Border.Background>
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
<!--右上角鸟图标-->
|
||||||
|
<Border CornerRadius="10" BorderThickness="2" Width="240" Height="50" VerticalAlignment="Top" HorizontalAlignment="Right" >
|
||||||
|
<Border.Background>
|
||||||
|
<ImageBrush ImageSource="pack://application:,,,/StandardDesign.Assets;component/Images/Login/bird.png" />
|
||||||
|
</Border.Background>
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
<!--正中间Logo图标-->
|
||||||
|
<Border Grid.Row="2" CornerRadius="10" BorderThickness="2" Width="100" Height="100" VerticalAlignment="Center" HorizontalAlignment="Stretch" >
|
||||||
|
<Border.Background>
|
||||||
|
<ImageBrush ImageSource="pack://application:,,,/StandardDesign.Assets;component/Images/Login/Trademark.png" />
|
||||||
|
</Border.Background>
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="4" Text="岛礁观测系统" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" FontSize="30"/>
|
||||||
|
<TextBlock Grid.Row="5" Text="集成水质、水文监测和水下成像技术" HorizontalAlignment="Center" VerticalAlignment="Bottom" Foreground="White" FontSize="15"/>
|
||||||
|
<TextBlock Grid.Row="6" Text="实现对珊瑚礁附近海域温度、盐度、深度、叶绿素、" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" FontSize="15"/>
|
||||||
|
<TextBlock Grid.Row="7" Text="CO2、流速等多参数要素及水下高清视频的长期在线观测" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" FontSize="15"/>
|
||||||
|
<TextBlock Grid.Row="8" Text="2024 - ZTMS" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White" FontSize="20" />
|
||||||
|
|
||||||
|
<!--左下角船图标-->
|
||||||
|
<Border Grid.Row="9" CornerRadius="10" BorderThickness="2" Width="170" Height="70" VerticalAlignment="Bottom" HorizontalAlignment="Left" >
|
||||||
|
<Border.Background>
|
||||||
|
<ImageBrush ImageSource="pack://application:,,,/StandardDesign.Assets;component/Images/Login/ship.png" />
|
||||||
|
</Border.Background>
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
<!--右下角波浪线图标-->
|
||||||
|
<Border Grid.Row="9" CornerRadius="10" BorderThickness="2" Width="286" Height="20" VerticalAlignment="Bottom" HorizontalAlignment="Right" >
|
||||||
|
<Border.Background>
|
||||||
|
<ImageBrush ImageSource="pack://application:,,,/StandardDesign.Assets;component/Images/Login/wave.png" />
|
||||||
|
</Border.Background>
|
||||||
|
</Border>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
<!--右侧区域-->
|
||||||
|
<Grid Grid.Column="1" Background="#000A7B" >
|
||||||
|
<Border CornerRadius="60,0,0,60" Background="White">
|
||||||
|
<Grid>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="40"/>
|
||||||
|
<RowDefinition Height="30"/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
<RowDefinition/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<!--窗口控制按钮-->
|
||||||
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="20,10">
|
||||||
|
<Button Content="" FontFamily="{DynamicResource Iconfont}" FontSize="14" Click="Button_MinClick" Style="{StaticResource WindowControlButtonStyle}" WindowChrome.IsHitTestVisibleInChrome="True"/>
|
||||||
|
<Button Content="" FontFamily="{DynamicResource Iconfont}" FontSize="14" Click="Button_MaxClick" Style="{StaticResource WindowControlButtonStyle}" WindowChrome.IsHitTestVisibleInChrome="True" Margin="10,0"/>
|
||||||
|
<Button Content="" FontFamily="{DynamicResource Iconfont}" FontSize="14" Click="Button_CloseClick" Style="{StaticResource WindowControlButtonStyle}" WindowChrome.IsHitTestVisibleInChrome="True" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<TextBlock Text="Socket连接" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="30"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Window>
|
||||||
71
StandardDesign.Views/LoginView.xaml.cs
Normal file
71
StandardDesign.Views/LoginView.xaml.cs
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using System.Windows.Documents;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
|
using System.Windows.Navigation;
|
||||||
|
using System.Windows.Shapes;
|
||||||
|
|
||||||
|
namespace StandardDesign.Views
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// LoginView.xaml 的交互逻辑
|
||||||
|
/// </summary>
|
||||||
|
public partial class LoginView : Window
|
||||||
|
{
|
||||||
|
public LoginView()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 主窗口关闭按钮事件
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void Button_CloseClick(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
//if (systemOperationView.buttonConnect.Content.ToString() == "断开连接")
|
||||||
|
//{
|
||||||
|
// systemOperationView.AddLog("蓝牙连接未断开!请先断开后,再关闭主窗口!");
|
||||||
|
// MessageBox.Show("蓝牙连接未断开!请先断开后,再关闭主窗口!", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// this.Close();
|
||||||
|
//}
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 主窗口最小化事件
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void Button_MinClick(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
this.WindowState = WindowState.Minimized;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 主窗口最大化事件
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void Button_MaxClick(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
//判断是否以及最大化,最大化就还原窗口,否则最大化
|
||||||
|
if (this.WindowState == WindowState.Maximized)
|
||||||
|
this.WindowState = WindowState.Normal;
|
||||||
|
else
|
||||||
|
this.WindowState = WindowState.Maximized;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
16
StandardDesign.Views/MainView.xaml
Normal file
16
StandardDesign.Views/MainView.xaml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<Window x:Class="StandardDesign.Views.MainView"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:local="clr-namespace:StandardDesign.Views"
|
||||||
|
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
||||||
|
DataContext="{Binding Source={StaticResource locator},Path=MainViewModel}"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
d:DesignHeight="450" d:DesignWidth="800"
|
||||||
|
Title="MainView">
|
||||||
|
|
||||||
|
<Grid>
|
||||||
|
<TextBlock Text="aaaaa"/>
|
||||||
|
</Grid>
|
||||||
|
</Window>
|
||||||
31
StandardDesign.Views/MainView.xaml.cs
Normal file
31
StandardDesign.Views/MainView.xaml.cs
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using System.Windows.Documents;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
|
using System.Windows.Navigation;
|
||||||
|
using System.Windows.Shapes;
|
||||||
|
|
||||||
|
namespace StandardDesign.Views
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// MainView.xaml 的交互逻辑
|
||||||
|
/// </summary>
|
||||||
|
public partial class MainView : Window
|
||||||
|
{
|
||||||
|
public MainView()
|
||||||
|
{
|
||||||
|
if (new LoginView().ShowDialog() != true)
|
||||||
|
Application.Current.Shutdown();
|
||||||
|
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
17
StandardDesign.Views/StandardDesign.Views.csproj
Normal file
17
StandardDesign.Views/StandardDesign.Views.csproj
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<UseWPF>true</UseWPF>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\StandardDesign.Assets\StandardDesign.Assets.csproj" />
|
||||||
|
<ProjectReference Include="..\StandardDesign.Common\StandardDesign.Common.csproj" />
|
||||||
|
<ProjectReference Include="..\StandardDesign.Components\StandardDesign.Components.csproj" />
|
||||||
|
<ProjectReference Include="..\StandardDesign.ViewModels\StandardDesign.ViewModels.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
79
StandardDesign.sln
Normal file
79
StandardDesign.sln
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.8.34511.84
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardDesign", "StandardDesign\StandardDesign.csproj", "{2BF16630-871C-494F-B55D-098BE74E300F}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardDesign.Views", "StandardDesign.Views\StandardDesign.Views.csproj", "{C17B8B74-2FEB-45E0-B8F2-3C8DF81C4187}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardDesign.Assets", "StandardDesign.Assets\StandardDesign.Assets.csproj", "{D131C4DC-0E04-4374-BF03-FF836630E640}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardDesign.Common", "StandardDesign.Common\StandardDesign.Common.csproj", "{15027FF7-AC26-46DA-933B-47F794064A15}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardDesign.Components", "StandardDesign.Components\StandardDesign.Components.csproj", "{72A2A13E-25DA-45FE-9987-623CE63AAB98}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardDesign.DataAccess", "StandardDesign.DataAccess\StandardDesign.DataAccess.csproj", "{E1C4ABD9-A535-4B3D-B831-A8642ADC116A}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardDesign.Entities", "StandardDesign.Entities\StandardDesign.Entities.csproj", "{5843FBF8-A25A-423E-996D-9BB51F95D98F}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardDesign.IDataAccess", "StandardDesign.IDataAccess\StandardDesign.IDataAccess.csproj", "{9AA38DAE-49BB-4BA5-94BA-E6752FEF381B}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardDesign.Models", "StandardDesign.Models\StandardDesign.Models.csproj", "{C655DE2C-7C52-4B3D-9761-BE62B6B296CC}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardDesign.ViewModels", "StandardDesign.ViewModels\StandardDesign.ViewModels.csproj", "{76698E8E-CA5E-4196-B385-282EED43E06B}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{2BF16630-871C-494F-B55D-098BE74E300F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{2BF16630-871C-494F-B55D-098BE74E300F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{2BF16630-871C-494F-B55D-098BE74E300F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{2BF16630-871C-494F-B55D-098BE74E300F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{C17B8B74-2FEB-45E0-B8F2-3C8DF81C4187}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{C17B8B74-2FEB-45E0-B8F2-3C8DF81C4187}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{C17B8B74-2FEB-45E0-B8F2-3C8DF81C4187}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{C17B8B74-2FEB-45E0-B8F2-3C8DF81C4187}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{D131C4DC-0E04-4374-BF03-FF836630E640}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{D131C4DC-0E04-4374-BF03-FF836630E640}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{D131C4DC-0E04-4374-BF03-FF836630E640}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{D131C4DC-0E04-4374-BF03-FF836630E640}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{15027FF7-AC26-46DA-933B-47F794064A15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{15027FF7-AC26-46DA-933B-47F794064A15}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{15027FF7-AC26-46DA-933B-47F794064A15}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{15027FF7-AC26-46DA-933B-47F794064A15}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{72A2A13E-25DA-45FE-9987-623CE63AAB98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{72A2A13E-25DA-45FE-9987-623CE63AAB98}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{72A2A13E-25DA-45FE-9987-623CE63AAB98}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{72A2A13E-25DA-45FE-9987-623CE63AAB98}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{E1C4ABD9-A535-4B3D-B831-A8642ADC116A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{E1C4ABD9-A535-4B3D-B831-A8642ADC116A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{E1C4ABD9-A535-4B3D-B831-A8642ADC116A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{E1C4ABD9-A535-4B3D-B831-A8642ADC116A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{5843FBF8-A25A-423E-996D-9BB51F95D98F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{5843FBF8-A25A-423E-996D-9BB51F95D98F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{5843FBF8-A25A-423E-996D-9BB51F95D98F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{5843FBF8-A25A-423E-996D-9BB51F95D98F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{9AA38DAE-49BB-4BA5-94BA-E6752FEF381B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{9AA38DAE-49BB-4BA5-94BA-E6752FEF381B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{9AA38DAE-49BB-4BA5-94BA-E6752FEF381B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{9AA38DAE-49BB-4BA5-94BA-E6752FEF381B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{C655DE2C-7C52-4B3D-9761-BE62B6B296CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{C655DE2C-7C52-4B3D-9761-BE62B6B296CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{C655DE2C-7C52-4B3D-9761-BE62B6B296CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{C655DE2C-7C52-4B3D-9761-BE62B6B296CC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{76698E8E-CA5E-4196-B385-282EED43E06B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{76698E8E-CA5E-4196-B385-282EED43E06B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{76698E8E-CA5E-4196-B385-282EED43E06B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{76698E8E-CA5E-4196-B385-282EED43E06B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {C5947CF7-42F1-4C64-AB6D-FDFF5057CBDC}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
12
StandardDesign/App.xaml
Normal file
12
StandardDesign/App.xaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<Application x:Class="StandardDesign.App"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:local="clr-namespace:StandardDesign"
|
||||||
|
xmlns:v="clr-namespace:StandardDesign.ViewModels;assembly=StandardDesign.ViewModels"
|
||||||
|
StartupUri="pack://application:,,,/StandardDesign.Views;component/MainView.xaml">
|
||||||
|
<Application.Resources>
|
||||||
|
<v:ViewModelLocator x:Key="locator"/>
|
||||||
|
<FontFamily x:Key="Iconfont">pack://application:,,,/StandardDesign.Assets;component/Fonts/#iconfont</FontFamily>
|
||||||
|
<FontFamily x:Key="DigitalDisplay">pack://application:,,,/StandardDesign.Assets;component/Fonts/#Digital Display</FontFamily>
|
||||||
|
</Application.Resources>
|
||||||
|
</Application>
|
||||||
14
StandardDesign/App.xaml.cs
Normal file
14
StandardDesign/App.xaml.cs
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
using System.Configuration;
|
||||||
|
using System.Data;
|
||||||
|
using System.Windows;
|
||||||
|
|
||||||
|
namespace StandardDesign
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Interaction logic for App.xaml
|
||||||
|
/// </summary>
|
||||||
|
public partial class App : Application
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
10
StandardDesign/AssemblyInfo.cs
Normal file
10
StandardDesign/AssemblyInfo.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
using System.Windows;
|
||||||
|
|
||||||
|
[assembly: ThemeInfo(
|
||||||
|
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||||
|
//(used if a resource is not found in the page,
|
||||||
|
// or application resource dictionaries)
|
||||||
|
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||||
|
//(used if a resource is not found in the page,
|
||||||
|
// app, or any theme specific resource dictionaries)
|
||||||
|
)]
|
||||||
17
StandardDesign/StandardDesign.csproj
Normal file
17
StandardDesign/StandardDesign.csproj
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>WinExe</OutputType>
|
||||||
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<UseWPF>true</UseWPF>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\StandardDesign.Assets\StandardDesign.Assets.csproj" />
|
||||||
|
<ProjectReference Include="..\StandardDesign.ViewModels\StandardDesign.ViewModels.csproj" />
|
||||||
|
<ProjectReference Include="..\StandardDesign.Views\StandardDesign.Views.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
Loading…
Reference in New Issue
Block a user