新建自定义控件:
<UserControl x:Class="EasySL.UI.Dialogs.PopupBorder" 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" d:DesignHeight="300" d:DesignWidth="400"> <UserControl.Resources> <Storyboard x:Name="myStoryboard"> <DoubleAnimation Storyboard.TargetName="LayoutRoot" Storyboard.TargetProperty="Opacity" From="1.0" To="0" Duration="0:0:1" AutoReverse="True" /> </Storyboard> </UserControl.Resources> <Grid x:Name="LayoutRoot" > <!--<Border Background="#FFCC0D0D" BorderThickness="0" CornerRadius="5">--> <Border BorderThickness="0" CornerRadius="5"> <Border.Background> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FF27A3D7" Offset="0.51"/> <GradientStop Color="#FF76C2E1" Offset="0.004"/> <GradientStop Color="#FF27A3D7" Offset="1"/> </LinearGradientBrush> </Border.Background> <Border.Effect> <DropShadowEffect BlurRadius="10" Color="#FFCC0D0D" ShadowDepth="0"/> </Border.Effect> <TextBlock x:Name="txtMessage" HorizontalAlignment="Center" Margin="10" VerticalAlignment="Center" FontSize="28" Foreground="White" FontFamily="Comic Sans MS" >This is a Simple Example</TextBlock> </Border> </Grid> </UserControl>
封装重构,新建MessageBoxHelper类:
using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using System.Windows.Controls.Primitives; using EasySL.UI.Dialogs; namespace EasySL.UI.Common { public class MessageBoxHelper { #region 提示消息 /// <summary> /// 弹出提示消息标题为提示,按钮为确定 /// </summary> /// <param name="msg"></param> public static void ShowMessage(string msg) { //ShowFriendMessage(msg,"提示",MessageBoxButton.OK); PopupBorder pborder = new PopupBorder(); pborder.txtMessage.Text = " " + msg + " "; pborder.UpdateLayout(); Popup popUp = new Popup(); popUp.Child = pborder; pborder.myStoryboard.Completed += delegate { popUp.IsOpen = false; }; pborder.myStoryboard.Begin(); popUp.InvokeOnLayoutUpdated(() => { popUp.Margin = new Thickness( (App.Current.Host.Content.ActualWidth - pborder.ActualWidth) / 2,(App.Current.Host.Content.ActualHeight - pborder.ActualHeight) / 2,0); System.Threading.Timer timer = new System.Threading.Timer( (state) => { popUp.dispatcher.BeginInvoke(() => { popUp.IsOpen = false; }); },null,500,500); }); popUp.IsOpen = true; } /// <summary> /// 弹出提示消息按钮为确定 /// </summary> /// <param name="msg"></param> public static void ShowMessage(string msg,string title) { ShowMessage(msg,title,MessageBoxButton.OK); } /// <summary> /// 弹出提示消息 /// </summary> /// <param name="msg"></param> public static void ShowMessage(string msg,string title,MessageBoxButton buttons) { MessageBox.Show(msg,buttons); } #endregion } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。