Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
T
Thick-Common
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
潘栩锋
Thick-Common
Commits
909dd72a
Commit
909dd72a
authored
Jan 11, 2022
by
潘栩锋
🚴
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加 把状态的报警框提取出来 变为style 供其它使用
parent
0ca4b51c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
169 additions
and
40 deletions
+169
-40
BaseStyle.xaml
...Y.ControlLibrary/FLY.ControlLibrary/Themes/BaseStyle.xaml
+2
-2
DynAreaErrorStyle.xaml
...hick.Base/FLY.Thick.Base.UI/Themes/DynAreaErrorStyle.xaml
+44
-0
DynAreaIO.xaml
....FLY.Thick.Base/FLY.Thick.Base.UI/UiModule/DynAreaIO.xaml
+4
-37
DynAreaIO.xaml.cs
...Y.Thick.Base/FLY.Thick.Base.UI/UiModule/DynAreaIO.xaml.cs
+119
-1
No files found.
Project.FLY.ControlLibrary/FLY.ControlLibrary/Themes/BaseStyle.xaml
View file @
909dd72a
...
...
@@ -9,7 +9,7 @@
<Thickness x:Key="ControlMargin">5</Thickness>
<!--Microsoft Sans Serif-->
<
!--<FontFamily x:Key="FontFamily.Field">Microsoft Sans Serif</FontFamily>--
>
<
FontFamily x:Key="FontFamily.Field">YouYuan</FontFamily
>
<
FontFamily x:Key="FontFamily.Field">Microsoft Sans Serif</FontFamily
>
<
!--<FontFamily x:Key="FontFamily.Field">YouYuan</FontFamily>--
>
</ResourceDictionary>
\ No newline at end of file
Project.FLY.Thick.Base/FLY.Thick.Base.UI/Themes/DynAreaErrorStyle.xaml
0 → 100644
View file @
909dd72a
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Themes/Dictionary_MyStyle.xaml"/>
<ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Converter/Dictionary_MyConv.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="Button" x:Key="DynAreaErrorStyle" BasedOn="{StaticResource Styles.Button.Empty}">
<Setter Property="Command" Value="{Binding OpenWarningCmd}"/>
<Setter Property="Visibility" Value="{Binding IsError,Converter={StaticResource visbilityconv}}"/>
<Setter Property="Content">
<Setter.Value>
<Border Style="{StaticResource Styles.Module.Border}" Background="{StaticResource Brushes.Validation}" >
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Path Margin="{StaticResource ControlMargin}" Fill="White" Stretch="Uniform" Width="60" Height="60" SnapsToDevicePixels="True" Data="{StaticResource Geometry_alert-circle-outline}" >
<Path.Style>
<Style TargetType="Path">
<Style.Triggers>
<DataTrigger Binding="{Binding IsError}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever" >
<DoubleAnimation BeginTime="0:0:0" Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="00:00:01" />
<DoubleAnimation BeginTime="0:0:1" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="00:00:01" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
<TextBlock Grid.Column="1" Margin="5" VerticalAlignment="Center" TextWrapping="Wrap" FontSize="22" Foreground="White" Text="{Binding ErrMsg}"/>
</Grid>
</Border>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
\ No newline at end of file
Project.FLY.Thick.Base/FLY.Thick.Base.UI/UiModule/DynAreaIO.xaml
View file @
909dd72a
...
...
@@ -11,6 +11,7 @@
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Themes/Dictionary_MyStyle.xaml"/>
<ResourceDictionary Source="pack://application:,,,/FLY.Thick.Base.UI;component/Converter/Dictionary_MyConv.xaml"/>
<ResourceDictionary Source="pack://application:,,,/FLY.Thick.Base.UI;component/Themes/DynAreaErrorStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="Rectangle" x:Key="IOStyle">
...
...
@@ -26,7 +27,8 @@
</Style>
<local:DynAreaIOVmUt x:Key="ioVm" />
<local:DynAreaErrorVm x:Key="errorVm" IsError="True" ErrMsg="枫莱尔控制器连接断开"/>
<local:DynAreaErrorVm x:Key="errorVm" IsError="True" ErrMsg="枫莱尔控制器连接断开 枫莱尔控制器连接断开"/>
</ResourceDictionary>
</UserControl.Resources>
<Grid Height="100" >
...
...
@@ -113,42 +115,7 @@
</Border>
</Grid>
</Button>
<Button x:Name="grid_error" Style="{StaticResource Styles.Button.Empty}" Command="{Binding OpenWarningCmd}"
Visibility="{Binding IsError,Converter={StaticResource visbilityconv}}"
d:DataContext="{StaticResource errorVm}"
>
<Border Style="{StaticResource Styles.Module.Border}" Background="Red" >
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Path Margin="{StaticResource ControlMargin}" Fill="White" Stretch="Uniform" Width="60" Height="60" SnapsToDevicePixels="True" Data="{StaticResource Geometry_alert-circle-outline}" >
<Path.Style>
<Style TargetType="Path">
<Style.Triggers>
<DataTrigger Binding="{Binding IsError}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever" >
<DoubleAnimation BeginTime="0:0:0" Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="00:00:01" />
<DoubleAnimation BeginTime="0:0:1" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="00:00:01" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
<Viewbox Grid.Column="1" Margin="{StaticResource ControlMargin}" MaxWidth="190" MaxHeight="80">
<TextBlock VerticalAlignment="Center" MaxWidth="190" TextWrapping="Wrap" FontSize="30" Foreground="White" Text="{Binding ErrMsg}"/>
</Viewbox>
</Grid>
</Border>
</Button>
<Button x:Name="grid_error" Style="{StaticResource DynAreaErrorStyle}" d:DataContext="{StaticResource errorVm}"/>
</Grid>
</UserControl>
Project.FLY.Thick.Base/FLY.Thick.Base.UI/UiModule/DynAreaIO.xaml.cs
View file @
909dd72a
...
...
@@ -257,7 +257,125 @@ namespace FLY.Thick.Base.UI.UiModule
}
}
public
class
DynAreaErrorVm2
:
INotifyPropertyChanged
{
/// <summary>
/// 有异常
/// </summary>
public
bool
IsError
{
get
;
set
;
}
/// <summary>
/// 异常消息
/// </summary>
public
string
ErrMsg
{
get
;
set
;
}
public
RelayCommand
OpenWarningCmd
{
get
;
}
public
event
PropertyChangedEventHandler
PropertyChanged
;
IWarningSystem2Service
warningSystem
;
IUnityContainer
container
;
string
serverName
;
DispatcherTimer
timer_error
;
private
int
reason_list_index
=
-
1
;
public
DynAreaErrorVm2
()
{
OpenWarningCmd
=
new
RelayCommand
(
OpenWarning
);
}
public
void
Init
(
IUnityContainer
container
,
IWarningSystem2Service
warningSystem
,
string
serverName
)
{
this
.
container
=
container
;
this
.
warningSystem
=
warningSystem
;
this
.
serverName
=
serverName
;
//报警原因轮流显示
timer_error
=
new
DispatcherTimer
();
timer_error
.
Interval
=
TimeSpan
.
FromSeconds
(
3
);
timer_error
.
Tick
+=
(
s
,
e
)
=>
{
reason_list_index
--;
if
(
reason_list_index
<
0
)
if
(
warningSystem
.
ReasonList
!=
null
&&
warningSystem
.
ReasonList
.
Count
()
>
0
)
reason_list_index
=
warningSystem
.
ReasonList
.
Count
();
else
reason_list_index
=
-
1
;
UpdateError
();
};
warningSystem
.
PropertyChanged
+=
WarningSystem_PropertyChanged
;
UpdateError
();
}
private
void
WarningSystem_PropertyChanged
(
object
sender
,
PropertyChangedEventArgs
e
)
{
if
(
e
.
PropertyName
==
nameof
(
Reflect_SeviceClient
.
IsConnected
))
{
UpdateError
();
}
else
if
(
e
.
PropertyName
==
nameof
(
warningSystem
.
ReasonList
))
{
if
(
warningSystem
.
ReasonList
!=
null
&&
warningSystem
.
ReasonList
.
Count
()
>
0
)
reason_list_index
=
warningSystem
.
ReasonList
.
Count
()
-
1
;
else
reason_list_index
=
-
1
;
UpdateError
();
}
}
void
UpdateError
()
{
if
(
this
.
warningSystem
is
FObjBase
.
FObjServiceClient
)
{
var
client
=
this
.
warningSystem
as
FObjBase
.
FObjServiceClient
;
if
(!
client
.
IsConnected
)
{
ErrMsg
=
$"
{
serverName
}
服务器连接断开"
;
IsError
=
true
;
reason_list_index
=
-
1
;
timer_error
.
Stop
();
return
;
}
}
if
(
warningSystem
.
ReasonList
!=
null
&&
warningSystem
.
ReasonList
.
Count
()
>
0
)
{
if
(
reason_list_index
>=
warningSystem
.
ReasonList
.
Count
())
reason_list_index
=
warningSystem
.
ReasonList
.
Count
()
-
1
;
else
if
(
reason_list_index
<
0
)
reason_list_index
=
0
;
ErrMsg
=
warningSystem
.
ReasonList
[
reason_list_index
].
Description
;
IsError
=
true
;
timer_error
.
Start
();
}
else
{
IsError
=
false
;
ErrMsg
=
""
;
reason_list_index
=
-
1
;
timer_error
.
Stop
();
}
}
private
void
OpenWarning
()
{
if
(!
WdPassword
.
Authorize
(
"Warning"
))
return
;
PgErrorTable2
p
=
new
PgErrorTable2
();
p
.
Init
(
container
,
warningSystem
);
FlyLayoutManager
.
NavigationService
.
Navigate
(
p
);
}
}
public
class
UiModule2_DynAreaIO
:
IUiModule2
{
public
string
Title
=>
"测厚.IO状态(报警)"
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment