当前位置: 首页 > news >正文

东莞市网站建设_网站建设公司_Ruby_seo优化

凡科快速建站,wordpress社交分享,杭州拱墅区网站建设,简述网络营销的概念微信公众号#xff1a;Dotnet9#xff0c;网站#xff1a;Dotnet9#xff0c;问题或建议#xff0c;请网站留言#xff1b; 如果您觉得Dotnet9对您有帮助#xff0c;欢迎赞赏Dotnet9.com内容目录实现效果业务场景编码实现本文参考源码下载1.实现效果未做修改的表单展示 … 微信公众号Dotnet9网站Dotnet9问题或建议请网站留言 如果您觉得Dotnet9对您有帮助欢迎赞赏Dotnet9.com内容目录实现效果业务场景编码实现本文参考源码下载1.实现效果未做修改的表单展示 表单变化关闭窗体提示 来个Gif动态操作看看 2.业务场景表单修改后关闭窗体前检查提示3.编码实现3.1 添加Nuget库使用 .Net Core 3.1 创建名为“ValidateDataChange”的WPF解决方案添加两个Nuget库MaterialDesignThemes和MaterialDesignColors。MaterialDesign控件库 3.2 工程结构4个文件变动App.xaml添加MD控件样式MainWindow.xaml主窗口实现效果MainWindow.xaml.cs主窗口后台绑定及关闭验证Contact.cs绑定的实体3.3 App.xaml引入MD控件样式Application x:ClassValidateDataChange.Appxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:localclr-namespace:ValidateDataChangeStartupUriMainWindow.xamlApplication.ResourcesResourceDictionaryResourceDictionary.MergedDictionariesResourceDictionary Sourcepack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml/ResourceDictionary Sourcepack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml/ResourceDictionary Sourcepack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.DeepPurple.xaml/ResourceDictionary Sourcepack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Blue.xaml//ResourceDictionary.MergedDictionaries/ResourceDictionary/Application.Resources /Application3.4 主窗体 MainWindow.xaml表单展示使用MD控件的Snackbar作为消息提示Window x:ClassValidateDataChange.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:ValidateDataChangemc:Ignorabledxmlns:materialDesignhttp://materialdesigninxaml.net/winfx/xaml/themesTitle编辑联系人 Height500 Width400 ResizeModeNoResize FontFamilyRoboto FontSize14 WindowStartupLocationCenterScreen ClosingWindow_ClosingGridGrid.RowDefinitionsRowDefinition Height100/RowDefinition Height*//Grid.RowDefinitionsmaterialDesign:ColorZone ModePrimaryMid Grid.Row0 VerticalAlignmentStretchTextBlock Text联系人 VerticalAlignmentCenter Margin20 FontSize30//materialDesign:ColorZoneStackPanel Margin10 30 Grid.Row1GridmaterialDesign:PackIcon KindFace VerticalAlignmentBottom Margin2 12 Foreground{Binding BorderBrush, ElementNameTextBoxName}/TextBox x:NameTextBoxName Margin5 materialDesign:HintAssist.Hint名字 Padding8 0 0 0 Text{Binding Name}Style{StaticResource MaterialDesignFloatingHintTextBox}//GridGridmaterialDesign:PackIcon KindAt VerticalAlignmentBottom Margin2 12 Foreground{Binding BorderBrush, ElementNameTextBoxEmail}/TextBox x:NameTextBoxEmail Margin5 materialDesign:HintAssist.Hint邮件 Padding8 0 0 0 Text{Binding Email}Style{StaticResource MaterialDesignFloatingHintTextBox}//GridGridStackPanel OrientationHorizontal VerticalAlignmentBottom Margin2 10materialDesign:PackIcon KindFacebook Foreground{Binding BorderBrush, ElementNameTextBoxFacebook}/TextBlock Textfacebook.com/ Foreground{Binding BorderBrush, ElementNameTextBoxFacebook}//StackPanelTextBox x:NameTextBoxFacebook Margin5 materialDesign:HintAssist.HintFacebook Padding54 0 0 0 Text{Binding Facebook}Style{StaticResource MaterialDesignFloatingHintTextBox}//Grid/StackPanelButton Grid.RowSpan2 Margin50 72 HorizontalAlignmentRight VerticalAlignmentTop Style{StaticResource MaterialDesignFloatingActionAccentButton}ClickButton_ClickmaterialDesign:PackIcon KindContentSave//ButtonmaterialDesign:Snackbar Grid.Row1 HorizontalAlignmentStretch x:NameSnackbarUnsavedChanges VerticalAlignmentBottommaterialDesign:SnackbarMessageContent有未保存的更改是否放弃修改ActionContent放弃 ActionClickSnackbarMessage_ActionClick//materialDesign:Snackbar/Grid /Window3.5 MainWindow.xaml.cs数据绑定窗体关闭前表单验证简单使用hashcode判断绑定实体是否有变化。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 ValidateDataChange {/// summary/// Interaction logic for MainWindow.xaml/// /summarypublic partial class MainWindow : Window{int hash;bool discardChanges;public MainWindow(){InitializeComponent();discardChanges false;var contact new Contact(Dotnet9, 632871194qq.com, Dotnet9);hash contact.GetHashCode();this.DataContext contact;}private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e){if (this.DataContext.GetHashCode() ! hash !discardChanges){SnackbarUnsavedChanges.IsActive true;e.Cancel true;}}private void Button_Click(object sender, RoutedEventArgs e){//保存数据}private void SnackbarMessage_ActionClick(object sender, RoutedEventArgs e){SnackbarUnsavedChanges.IsActive false;discardChanges true;this.Close();}} }3.6 Contact.cs联系人实体类using System; using System.Collections.Generic; using System.ComponentModel; using System.Text;namespace ValidateDataChange {internal class Contact : INotifyPropertyChanged{public event PropertyChangedEventHandler PropertyChanged;private void NotifyPropertyChanged(string info){if (PropertyChanged ! null){PropertyChanged(this, new PropertyChangedEventArgs(info));}}private string name;public string Name{get { return name; }set { name value; NotifyPropertyChanged(Name); }}private string email;public string Email{get { return email; }set { email value; NotifyPropertyChanged(Email); }}private string facebook;public string Facebook{get { return facebook; }set { facebook value; NotifyPropertyChanged(Facebook); }}public Contact(string name, string email, string facebook){this.name name;this.email email;this.facebook facebook;}public override int GetHashCode(){return (name email facebook).GetHashCode();}} }4.本文参考Design com WPF 大神的学习视频Validate Data Change开源控件库MaterialDesignInXamlToolkit本站对MD开源控件库的介绍控件介绍5.代码下载Github源码下载下载除非注明文章均由 Dotnet9 整理发布欢迎转载。转载请注明本文地址https://dotnet9.com/6823.html欢迎扫描下方二维码关注 Dotnet9 的微信公众号本站会及时推送最新技术文章
http://www.lebaoying.cn/news/135545.html

相关文章:

  • 沈阳模板建站哪家好内蒙古呼和浩特大学
  • 专门做封面的网站网站结构分析具体分析内容
  • 淘客二级域名网站免费建设wordpress建站 百度网盘
  • 制作外贸网站的公司简介wordpress 301 插件
  • 如何建立一个网站共享wordpress2019中文下载
  • 游戏是怎么做的视频网站家具设计软件
  • UE做的比较好的网站网页制作如何新建站点
  • 网站开发 文献综述wordpress 京东客
  • 手机网站备案红酒网站建设模板
  • 怎样做微信挂机平台网站seo推广排名
  • 山东天成水利建设 网站网页配色设计
  • 毕业设计做网站答辩会问什么邮箱怎么上传wordpress
  • 公司网站建设计入明细科目网络安全设计方案
  • 承接各类网站建设免费云电脑
  • dw做的网站如何上传网站服务器建设的三种方法是什么
  • 单网站建设如何联系网站站长
  • 网站源码采集视频网站如何做盗链
  • 国内黑色风格的网站html做网站在手机上显示
  • unity 做网站wordpress 换空间域名
  • 溧水区住房和城乡建设厅网站河南省建设厅资质公示
  • 网站线框图用什么做服务器上发布网站
  • thinkphp企业网站开发专业网站制作解决方案
  • 桂林骏程网站建设营销型网站seo
  • 建站之星破解版下载做网站microsoft
  • 哪个网站可以做外贸湖南网站建设怎么样
  • 广东建设监理协会网站wordpress 忘记管理员密码
  • 合肥网站优化公司湖南建设监理协会网站
  • 网站开发素材包做英文网站要用什么字体
  • 请人开发一个网站需要多少钱温州网站建设服务器
  • 南部县建设局网站深圳官方网站制作