From a061384ba628a09bf4df91f50321ab22c03129aa Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期二, 18 三月 2025 20:58:36 +0800
Subject: [PATCH] Winform支持遮罩层;
---
HMI.UI/Style/PanuonResource.xaml | 190 +++++++++++++++++++++++++++++++++++-----------
1 files changed, 143 insertions(+), 47 deletions(-)
diff --git a/HMI.UI/Style/PanuonResource.xaml b/HMI.UI/Style/PanuonResource.xaml
index f97f70a..3d29dc3 100644
--- a/HMI.UI/Style/PanuonResource.xaml
+++ b/HMI.UI/Style/PanuonResource.xaml
@@ -1,26 +1,30 @@
-锘�<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+锘�<ResourceDictionary
+ 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"
+ mc:Ignorable="d"
xmlns:ui="clr-namespace:HMI.UI"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:pw="https://opensource.panuon.com/wpf"
xmlns:pu="https://opensource.panuon.com/wpf-ui"
+ xmlns:uic="clr-namespace:HMI.UI.Converter;assembly=HMI.UI"
xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/HMI.UI;component/Style/Colors.xaml"/>
- <pu:StyleDictionary Includes="TextBox,ComboBox,Button,DataGrid,TreeView,Menu" />
+ <pu:StyleDictionary Includes="PasswordBox,TextBox,ComboBox,Button,DataGrid,TreeView,Menu" />
<ResourceDictionary Source="/HMI.UI;component/Resources/Font/Font.xaml"/>
</ResourceDictionary.MergedDictionaries>
-
<sys:Double x:Key="TitleFontSize">20</sys:Double>
<sys:Double x:Key="ContentFontSize">16</sys:Double>
<sys:Double x:Key="ContentFontSize2">14</sys:Double>
<Style x:Key="PrimaryButton" TargetType="Button" BasedOn="{StaticResource {x:Static pu:StyleKeys.ButtonStyle}}">
- <Setter Property="Background" Value="{StaticResource PrimaryColor}"/>
+ <Setter Property="Background" Value="{StaticResource VerBar}"/>
<Setter Property="Foreground" Value="#FFF"/>
<Setter Property="pu:IconHelper.FontFamily" Value="{StaticResource iconfont}"/>
<Setter Property="pu:IconHelper.Margin" Value="0,0,10,0"/>
- <Setter Property="Padding" Value="10"/>
+ <Setter Property="Padding" Value="8"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Cursor" Value="Hand"/>
</Style>
@@ -32,33 +36,74 @@
</Style>
<Style x:Key="DangerButton" TargetType="Button" BasedOn="{StaticResource PrimaryButton}">
- <Setter Property="Background" Value="{StaticResource DangerColor}"/>
+ <Setter Property="Background" Value="{StaticResource DangerVerBar}"/>
+ <Setter Property="Foreground" Value="{StaticResource DangerColorContrast}"/>
+ </Style>
+
+ <Style x:Key="SuccessButton" TargetType="Button" BasedOn="{StaticResource PrimaryButton}">
+ <Setter Property="Background" Value="{StaticResource GreenVerBar}"/>
<Setter Property="Foreground" Value="{StaticResource DangerColorContrast}"/>
</Style>
<Style x:Key="AddBtn" TargetType="Button" BasedOn="{StaticResource PrimaryButton}">
- <Setter Property="pu:ButtonHelper.Icon" Value=""/>
- <Setter Property="Content" Value="鏂板"/>
+ <Setter Property="pu:ButtonHelper.Icon" Value=""/>
+ <Setter Property="Content" Value="{DynamicResource App.Add}"/>
</Style>
+ <Style x:Key="EditBtn" TargetType="Button" BasedOn="{StaticResource PrimaryButton}">
+ <Setter Property="pu:ButtonHelper.Icon" Value=""/>
+ <Setter Property="Content" Value="{DynamicResource App.Edit}"/>
+ </Style>
+
<Style x:Key="RfhBtn" TargetType="Button" BasedOn="{StaticResource PrimaryButton}">
- <Setter Property="pu:ButtonHelper.Icon" Value=""/>
- <Setter Property="Content" Value="鍒锋柊"/>
+ <Setter Property="pu:ButtonHelper.Icon" Value=""/>
+ <Setter Property="Content" Value="{DynamicResource App.Refresh}"/>
+ </Style>
+
+ <Style x:Key="QueryBtn" TargetType="Button" BasedOn="{StaticResource PrimaryButton}">
+ <Setter Property="pu:ButtonHelper.Icon" Value=""/>
+ <Setter Property="Content" Value="{DynamicResource App.Query}"/>
+ </Style>
+
+ <Style x:Key="ExportBtn" TargetType="Button" BasedOn="{StaticResource PrimaryButton}">
+ <Setter Property="pu:ButtonHelper.Icon" Value=""/>
+ <Setter Property="Content" Value="{DynamicResource App.Export}"/>
+ </Style>
+
+ <Style x:Key="ImportBtn" TargetType="Button" BasedOn="{StaticResource PrimaryButton}">
+ <Setter Property="pu:ButtonHelper.Icon" Value=""/>
+ <Setter Property="Content" Value="{DynamicResource App.Import}"/>
+ </Style>
+
+ <Style x:Key="SaveBtn" TargetType="Button" BasedOn="{StaticResource PrimaryButton}">
+ <Setter Property="pu:ButtonHelper.Icon" Value=""/>
+ <Setter Property="Content" Value="{DynamicResource App.Save}"/>
+ </Style>
+
+ <Style x:Key="ResetBtn" TargetType="Button" BasedOn="{StaticResource RfhBtn}">
+ <Setter Property="Content" Value="{DynamicResource App.Reset}"/>
+ </Style>
+
+ <Style x:Key="SettingBtn" TargetType="Button" BasedOn="{StaticResource PrimaryButton}">
+ <Setter Property="pu:ButtonHelper.Icon" Value=""/>
+ <Setter Property="Content" Value="{DynamicResource App.Setting}"/>
</Style>
<Style x:Key="DelBtn" TargetType="Button" BasedOn="{StaticResource DangerButton}">
- <Setter Property="pu:ButtonHelper.Icon" Value=""/>
- <Setter Property="Content" Value="鍒犻櫎"/>
+ <Setter Property="pu:ButtonHelper.Icon" Value=""/>
+ <Setter Property="Content" Value="{DynamicResource App.Delete}"/>
</Style>
<Style x:Key="LinkButton" TargetType="Button" BasedOn="{StaticResource {x:Static pu:StyleKeys.ButtonStyle}}">
<Setter Property="Background" Value="{x:Null}" />
+ <Setter Property="Margin" Value="0" />
+ <Setter Property="Padding" Value="0" />
<Setter Property="Foreground" Value="{StaticResource PrimaryColor}" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
- <TextBlock Text="{Binding}" TextDecorations="Underline" />
+ <TextBlock Text="{Binding}" Padding="0" HorizontalAlignment="Left" VerticalAlignment="Center" TextDecorations="Underline" />
</DataTemplate>
</Setter.Value>
</Setter>
@@ -66,6 +111,29 @@
<Style x:Key="DangerLinkButton" TargetType="Button" BasedOn="{StaticResource LinkButton}">
<Setter Property="Foreground" Value="{StaticResource DangerColor}"/>
+ </Style>
+
+ <Style x:Key="DeleteLink" TargetType="Button" BasedOn="{StaticResource DangerLinkButton}">
+ <Setter Property="Content" Value="{DynamicResource App.Delete}"/>
+ </Style>
+
+ <Style x:Key="RowLink" TargetType="Button" BasedOn="{StaticResource LinkButton}">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Path=IsMouseOver,
+ RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"
+ Value="True">
+ <Setter Property="Foreground" Value="#FFF"/>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Path=IsSelected,
+ RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"
+Value="True">
+ <Setter Property="Foreground" Value="#FFF"/>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+
+ <Style x:Key="EditLink" TargetType="Button" BasedOn="{StaticResource RowLink}">
+ <Setter Property="Content" Value="{DynamicResource App.Edit}"/>
</Style>
<Style x:Key="CommonToggle" TargetType="ToggleButton" BasedOn="{StaticResource {x:Static pu:StyleKeys.ToggleButtonStyle}}">
@@ -92,33 +160,44 @@
<Setter Property="Padding" Value="10"/>
</Style>
+
+ <Style x:Key="DefaultDataGridRow" TargetType="DataGridRow" BasedOn="{StaticResource {x:Static pu:StyleKeys.DataGridRowStyle}}">
+ <Setter Property="Background" Value="White"/>
+ <Style.Triggers>
+ <Trigger Property="AlternationIndex" Value="1">
+ <Setter Property="Background" Value="#eeeeee"/>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+
<Style x:Key="DefaultDataGrid" TargetType="DataGrid" BasedOn="{StaticResource {x:Static pu:StyleKeys.DataGridStyle}}">
<Style.Resources>
<Style TargetType="DataGridCell"
BasedOn="{StaticResource {x:Static pu:StyleKeys.DataGridCellStyle}}">
<Setter Property="Background" Value="Transparent"/>
- <Setter Property="Padding" Value="0"/>
+ <Setter Property="Padding" Value="5"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="Background" Value="Transparent"/>
</Style>
- <Style TargetType="TextBlock">
+ <!--<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
+ <Setter Property="Padding" Value="5"/>
+ </Style>-->
+ <Style TargetType="DataGridColumnHeader"
+ BasedOn="{StaticResource {x:Static pu:StyleKeys.DataGridColumnHeaderStyle}}">
<Setter Property="Padding" Value="10"/>
+ <Setter Property="BorderThickness" Value="0"/>
</Style>
</Style.Resources>
-
- <Setter Property="pu:DataGridHelper.ColumnHeaderBackground" Value="{StaticResource TableHeaderBackground}"/>
- <Setter Property="pu:DataGridHelper.ColumnHeaderHoverBackground" Value="{StaticResource TableHeaderBackground}"/>
- <Setter Property="pu:DataGridHelper.ColumnHeaderSeparatorBrush" Value="{StaticResource TableBoarder}"/>
- <Setter Property="pu:DataGridHelper.ColumnHeaderSeparatorVisibility" Value="Visible"/>
- <Setter Property="pu:DataGridHelper.ColumnHeaderVerticalContentAlignment" Value="Center"/>
- <Setter Property="pu:DataGridHelper.RowHeaderBackground" Value="White"/>
- <Setter Property="pu:DataGridHelper.RowHeaderSeparatorBrush" Value="{StaticResource PrimaryColor}"/>
- <Setter Property="pu:DataGridHelper.RowHoverForeground" Value="{StaticResource SecondPrimaryColorContract}"/>
- <Setter Property="pu:DataGridHelper.RowHoverBackground" Value="{StaticResource SecondPrimaryColor}"/>
- <Setter Property="pu:DataGridHelper.RowSelectedBackground" Value="{StaticResource PrimaryColor}"/>
- <Setter Property="pu:DataGridHelper.RowSelectedForeground" Value="White"/>
+ <Setter Property="pu:DataGridHelper.ColumnHeaderPadding" Value="0"/>
+ <Setter Property="RowHeight" Value="30"/>
+ <Setter Property="ColumnHeaderHeight" Value="36"/>
+ <Setter Property="ForceCursor" Value="True"/>
+ <Setter Property="SelectionMode" Value="Single"/>
+ <Setter Property="RowStyle" Value="{StaticResource DefaultDataGridRow}"/>
+ <Setter Property="AlternationCount" Value="2"></Setter>
+ <Setter Property="Foreground" Value="#3a3a3a"/>
<Setter Property="HorizontalGridLinesBrush" Value="{StaticResource TableBoarder}"/>
<Setter Property="VerticalGridLinesBrush" Value="{StaticResource TableBoarder}"/>
<Setter Property="BorderBrush" Value="{StaticResource TableBoarder}" />
@@ -126,14 +205,26 @@
<Setter Property="CanUserAddRows" Value="False"/>
<Setter Property="CanUserSortColumns" Value="False"/>
<Setter Property="CanUserDeleteRows" Value="False"/>
- <Setter Property="RowHeaderWidth" Value="0"/>
+ <Setter Property="RowHeaderWidth" Value="1"/>
<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="GridLinesVisibility" Value="All"/>
<Setter Property="BorderThickness" Value="0"/>
- <Setter Property="FontSize" Value="{StaticResource ContentFontSize}"/>
- <Setter Property="RowHeight" Value="24"/>
- <Setter Property="ForceCursor" Value="True"/>
- <Setter Property="SelectionMode" Value="Single"/>
+ <Setter Property="BorderBrush" Value="{StaticResource CommonBoarder}"/>
+ <Setter Property="FontSize" Value="{StaticResource ContentFontSize2}"/>
+ <Setter Property="pu:DataGridHelper.ColumnHeaderForeground" Value="White"/>
+ <Setter Property="pu:DataGridHelper.ColumnHeaderBackground" Value="{StaticResource TableHeader}"/>
+ <Setter Property="pu:DataGridHelper.ColumnHeaderHoverBackground" Value="{StaticResource TableHeader}"/>
+ <Setter Property="pu:DataGridHelper.ColumnHeaderSeparatorBrush" Value="{StaticResource TableBoarder}"/>
+ <Setter Property="pu:DataGridHelper.ColumnHeaderSeparatorVisibility" Value="Visible"/>
+ <Setter Property="pu:DataGridHelper.ColumnHeaderVerticalContentAlignment" Value="Center"/>
+ <Setter Property="pu:DataGridHelper.ColumnHeaderHorizontalContentAlignment" Value="Left"/>
+
+ <Setter Property="pu:DataGridHelper.RowHeaderSeparatorBrush" Value="{StaticResource CommonBoarder}"/>
+ <Setter Property="pu:DataGridHelper.RowHoverForeground" Value="{StaticResource SecondPrimaryColorContract}"/>
+ <Setter Property="pu:DataGridHelper.RowHoverBackground" Value="{StaticResource SecondPrimaryColor}"/>
+ <Setter Property="pu:DataGridHelper.RowSelectedBackground" Value="{StaticResource PrimaryColor}"/>
+ <Setter Property="pu:DataGridHelper.RowSelectedForeground" Value="White"/>
+ <Setter Property="pu:DataGridHelper.RowHeaderBorderThickness" Value="10,0,0,0"/>
<Setter Property="pu:DataGridHelper.ColumnHeaderBorderThickness" Value="0"/>
<Setter Property="pu:DataGridHelper.ColumnHeaderPadding" Value="0"/>
</Style>
@@ -149,21 +240,6 @@
<Setter Property="FontSize" Value="{StaticResource ContentFontSize}"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
- </Style>
-
- <Style x:Key="RowLink" TargetType="Button" BasedOn="{StaticResource LinkButton}">
- <Style.Triggers>
- <DataTrigger Binding="{Binding Path=IsMouseOver,
- RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"
- Value="True">
- <Setter Property="Foreground" Value="#FFF"/>
- </DataTrigger>
- <DataTrigger Binding="{Binding Path=IsSelected,
- RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"
-Value="True">
- <Setter Property="Foreground" Value="#FFF"/>
- </DataTrigger>
- </Style.Triggers>
</Style>
<Style x:Key="DefaultTabControl" TargetType="TabControl">
@@ -194,4 +270,24 @@
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="FontSize" Value="{StaticResource ContentFontSize2}"/>
</Style>
+
+ <Style x:Key="ModalWindow" TargetType="pu:WindowX">
+ <Setter Property="pu:WindowXCaption.Background" Value="{StaticResource ReHoriBar}"/>
+ <Setter Property="pu:WindowXModalDialog.ButtonStyle" Value="{StaticResource ModalButton}"/>
+ <Setter Property="pu:WindowXCaption.Foreground" Value="#FFF"/>
+ <Setter Property="pu:WindowXCaption.Buttons" Value="Close"/>
+ <Setter Property="pu:WindowXModalDialog.Buttons" Value="OKCancel"/>
+ <Setter Property="pu:WindowXModalDialog.CancelButtonContent"
+ Value="{DynamicResource App.Cancel}"/>
+ <Setter Property="pu:WindowXModalDialog.OKButtonContent"
+ Value="{DynamicResource App.Save}"/>
+ <Setter Property="pu:WindowXModalDialog.ButtonPanelMargin" Value="0,30,10,10"/>
+ </Style>
+
+ <Popup x:Key="testPop" Placement="Relative" StaysOpen="True" Width="1920" Height="1080">
+ <Rectangle x:Name="RectMask"
+ Fill="Red"
+ Opacity="0"
+ Visibility="Visible" />
+ </Popup>
</ResourceDictionary>
\ No newline at end of file
--
Gitblit v1.9.1