WPF里的报警闪烁效果

<esri:MarkerSymbol x:Key="FlashMarkerSymbol" OffsetX="41" OffsetY="41">
<esri:MarkerSymbol.ControlTemplate>
<ControlTemplate>
<Grid Height="81" Width="81">
<Grid.Resources>
<Style TargetType="{x:Type Line}">
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Stroke" Value="Red"/>
<Setter Property="StrokeThickness" Value="1"/>
</Style>
</Grid.Resources>
<Ellipse x:Name="elp1">
<Ellipse.Fill>
<RadialGradientBrush>
<GradientStop Color="#F00" Offset="1"/>
<GradientStop Color="#0FB2" Offset="0"/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Fill="White" Height="11" Stroke="#000" StrokeThickness="1" StrokeDashArray="5,2.95" StrokeDashOffset="6.7" Width="11"/>
<Line X1="31" Y1="40.5" X2="38" Y2="40.5"/>
<Line X1="43" Y1="40.5" X2="50" Y2="40.5"/>
<Line X1="40.5" Y1="31" X2="40.5" Y2="38"/>
<Line X1="40.5" Y1="43" X2="40.5" Y2="50"/>
<Ellipse x:Name="elp2" Cursor="Hand" Height="9" Width="9">
<Ellipse.Fill>
<RadialGradientBrush>
<GradientStop Color="#F00" Offset="1"/>
<GradientStop Color="#FD9" Offset="0"/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
</Grid>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded" SourceName="elp2">
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever">
<DoubleAnimation Storyboard.TargetName="elp1" Storyboard.TargetProperty="Width" From="10" To="80" Duration="0:0:1.5"/>
<DoubleAnimation Storyboard.TargetName="elp1" Storyboard.TargetProperty="Height" From="10" To="80" Duration="0:0:1.5"/>
<DoubleAnimation Storyboard.TargetName="elp1" Storyboard.TargetProperty="Opacity" From="0.9" To="0" Duration="0:0:1.5"/>
<DoubleAnimation Storyboard.TargetName="elp2" Storyboard.TargetProperty="Opacity" From="0.3" To="1" Duration="0:0:1.5"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>

</esri:MarkerSymbol.ControlTemplate>
</esri:MarkerSymbol>

时间: 2024-10-12 20:29:23

WPF里的报警闪烁效果的相关文章

在WPF里实现计算器软件

一.具体代码 类代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; namespace WpfApplication1 { class lei { public interface Strategy { int calculate(int a, int b); } public class Add : Strategy { p

C# WPF里信息提示框的写法

在winform里信息框我们一般这样写 private void Button_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show ("要退出程序吗?", "退出程序",MessageBoxButton.YesNo ) == DialogResult.Yes) { this.Close(); } } 在WPF里DialogResult没有Yes或No的枚举取值了,所以应该这样写 private

WPF里ItemsControl的分组实现

我们在用到ItemsControl时,有时会用到分组,如ListBox,ListView,DataGrid.WPF的ItemsControl可以实现分组,是依托于GroupStyle,以ListBox为例,他的分组效果图为: 以下为前台: 1 <ListBox Name="lbMain"> 2 <ListBox.ItemTemplate> 3 <DataTemplate> 4 <StackPanel Orientation="Hori

rdlc水晶报表在wpf里的使用

1引用程序集 Microsoft.ReportViewer.WinForms 2 xaml 命名空间 xmlns:rv="clr-namespace:Microsoft.Reporting.WinForms;assembly=Microsoft.ReportViewer.WinForms" 3 xaml 里用windowsFormsHost 来装报表控件 <WindowsFormsHost Margin="135,75,0,0" Panel.ZIndex=&q

winform和wpf里必知的多线程知识

背景: 很多小伙伴经常在群里问线程的问题,平时我经常转一些视频教程这些人不看,我就自己写个总结吧 不过还是要注意的是,切换本来就不能太频繁,要一口气改. wpf的viewmodel就不需要UI线程,更新更方便. 一,开启一个新的任务 var param = 123; //net4.5以后 Task.Run(() => { DoSomthing(param); }); Task.Run(async () => { await DoSomthingAsync(param); }); //net 4

[WPF] 动画Completed事件里获取执行该动画的UI对象

原文:[WPF] 动画Completed事件里获取执行该动画的UI对象 昨天群里有位童鞋提出如何在动画完成事件Completed里获取到执行该动画的UI对象. WPF里动画的Completed的本身并不会返回执行动画的UI对象,但我们可以利用附加属性Storyboard.TargetProperty来达到我们想要的效果. 步骤: 1 在执行动画前,先附加属性记录对象 DoubleAnimation ani = new DoubleAnimation(); ani.From = start; an

WPF 面试题及答案(二)

一 · WPF中什么是样式? 首先明白WPF中样式属于资源中重要的一种. 同时样式也是属性值的集合,能被应用到一个合适的元素中,或者说能将一组属性应用到多个元素. WPF中样式可以设置任何依赖属性. WPF中样式也支持触发器,通过属性的改变,触发一组活动,包括改变某个控件的样式. WPF中元素只能使用一个样式. 样式有继承的特性,样式可以继承样式. 二 · WPF中什么是模板 ? WPF中模板是用于定义或重定义控件结构,或者说对象的外观. WPF中模板有两类,一个是控件模板(ControlTem

WPF实现QQ群文件列表动画(二)

上篇(WPF实现QQ群文件列表动画(一))介绍了WPF实现QQ群文件列表动画的大致思路,结合我之前讲过的WPF里ItemsControl的分组实现,实现起来问题不大,以下是效果图: 其实就是个ListBox,使用了它的分组样式,而分组样式其实就是一组Expander,这就让我有机会使用自定义的Expander样式,这个Expander样式已经实现了动画伸缩.后台做的就相当简单了,只需要给这个ListBox指定ItemSource并且给它添加一个分组依据就行了. 注意一个小细节:我把自带的Head

【转】【WPF】资源读取 URI

一开始看到WPF里面经常用如下语句来构造资源文件Uri: Uri uri = new Uri("/AssemblyName;component/image.png"); 我还以为这种格式的字符串是URI标准规定的,但是网上查了一下却没发现有这种格式的URI字符串. URI是统一资源标识符,通用文法为: 协议名(http,https,ftp,file等)+冒号+协议所对应的内容 URI又分为URL和URN,URL是用来定义一个资源的访问路径.而URN则是用来定义一个资源的名称.(http