自动化生产管理平台(Automatic)
1自动化生产管理平台(Automatic)1.1重新定义Window样式添加WindowChrome元素进行自定义定义Window x:Classlzg.Automatic.MainWindow xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:xhttp://schemas.microsoft.com/winfx/2006/xaml xmlns:dhttp://schemas.microsoft.com/expression/blend/2008 xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006 xmlns:localclr-namespace:lzg.Automatic mc:Ignorabled TitleMainWindow Height700 Width1150 FontSize12 FontWeightExtraLight FontFamilyMicr0soft Yahei WindowStartupLocationCenterScreen WindowStyleNone WindowChrome.WindowChrome !--CaptionHeight标题栏高度不需要添加后台代码即可在此区域内可实现拖拽-- WindowChrome CaptionHeight50 GlassFrameThickness-1 /WindowChrome /WindowChrome.WindowChrome注意如果标签元素例如Button位于Caption区域若想其或者其包含的元素响应事件需要对该元素添加设置附加属性:WindowChrome.IsHitTestVisibleInChromeTrue例如在Button位于Caption区域若想鼠标进入StackPanel内的所有Button背景颜色均可变化则需要设置StackPanel附加属性WindowChrome.IsHitTestVisibleInChromeTrue.StackPanel OrientationHorizontal HorizontalAlignmentRight Grid.Column2 WindowChrome.IsHitTestVisibleInChromeTrue Button Style{StaticResource winControlButton}#xe624;/Button Button Style{StaticResource winControlButton}#xe600;/Button Button Style{StaticResource winControlButton} BackgroundDarkRed#xe609;/Button /StackPanelStyle x:KeywinControlButton TargetTypeButton Setter PropertyWidth Value35 /Setter Setter PropertyHeight Value35 /Setter Setter PropertyBackground Value#11ffffff/Setter Setter PropertyForeground ValueWhite/Setter Setter PropertyFontFamily Value{StaticResource iconFont}/Setter Setter PropertyTemplate Setter.Value ControlTemplate TargetTypeButton Border x:Nameroot Background{TemplateBinding Background} ContentPresenter HorizontalAlignment{TemplateBinding HorizontalContentAlignment} VerticalAlignment{TemplateBinding VerticalContentAlignment}/ContentPresenter /Border ControlTemplate.Triggers Trigger PropertyIsMouseOver ValueTrue Setter TargetNameroot PropertyBackground Value#66ffffff/Setter /Trigger /ControlTemplate.Triggers /ControlTemplate /Setter.Value /Setter /Style1.2导航到指定位置使用页导航导航到指定该页的指定位置格式页位置#标签名,例如SettingsPage.xaml#p1表示导航到SettingsPage.xaml页面Element名称(Name)为p1处。!--导航按钮--BorderGrid.Row1BorderBrushLightGrayBorderThickness0,0,1,0StackPanelButtonBase.ClickStackPanel_ClickStackPanel.ResourcesStyleTargetTypeRadioButtonSetter PropertyTemplate Setter.Value ControlTemplate TargetTypeRadioButton Borderx:NamePart_rootPadding8,8,0,8 ContentPresenter/ContentPresenter /Border ControlTemplate.Triggers Trigger PropertyIsCheckedValueTrue Setter TargetNamePart_rootPropertyBackgroundValue#18aabd/Setter Setter PropertyForegroundValueWhite/Setter /Trigger /ControlTemplate.Triggers /ControlTemplate /Setter.Value /Setter/Style/StackPanel.ResourcesRadioButtonContent设备清单IsCheckedTrueTagp1/RadioButtonRadioButtonContent环境检测Tagp2/RadioButtonRadioButtonContent设置3Tagp3/RadioButtonRadioButtonContent设置4Tagp4/RadioButtonRadioButtonContent设置5Tagp5/RadioButton/StackPanel/BorderScrollViewerGrid.Row1Grid.Column1Margin10,5,5,5VerticalScrollBarVisibilityHiddenFrameSourceSettingsPage.xamlx:NameframeContentNavigationUIVisibilityHidden/Frame/ScrollViewer给元素指定Name用于导航定位Pagex:Classlzg.Automatic.Views.SettingsPagexmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:localclr-namespace:lzg.Automatic.Viewsmc:Ignorabledxmlns:vmclr-namespace:lzg.Automatic.ViewModelsd:DesignHeight450d:DesignWidth800TitleSettingsPagePage.ResourcesStyleTargetTypeGroupBoxSetter PropertyMinHeightValue100/Setter Setter PropertyTemplate Setter.Value ControlTemplate TargetTypeGroupBox StackPanel Label Padding5,15,5,8Content{TemplateBinding Header}FontSize{TemplateBinding FontSize}BorderBrushLightGrayBorderThickness0,0,0,1/Label ContentPresenter Margin0,10,0,0/ContentPresenter /StackPanel /ControlTemplate /Setter.Value /Setter/Style/Page.ResourcesPage.DataContextvm:SettingsViewModel/vm:SettingsViewModel/Page.DataContextStackPanel!--这里的Namep1用于导航定位--!GroupBoxHeader设备清单x:Namep1ListBoxHorizontalContentAlignmentStretchTextBlock.ForegroundBlackItemsSource{Binding DeviceList}ListBox.TemplateControlTemplateTargetTypeListBoxItemsPresenter/ItemsPresenter/ControlTemplate/ListBox.TemplateListBox.ItemContainerStyleStyleTargetTypeListBoxItemSetter PropertyTemplate Setter.Value ControlTemplate TargetTypeListBoxItem ContentPresenter/ContentPresenter /ControlTemplate /Setter.Value /Setter/Style/ListBox.ItemContainerStyleListBox.ItemTemplateDataTemplateGridMargin10,0Background#09000000Grid.ColumnDefinitionsColumnDefinition/ColumnDefinitionColumnDefinition/ColumnDefinitionColumnDefinition/ColumnDefinitionColumnDefinitionWidth0.5*/ColumnDefinition/Grid.ColumnDefinitionsGrid.RowDefinitionsRowDefinitionHeightauto/RowDefinitionRowDefinition/RowDefinition/Grid.RowDefinitionsTextBlockVerticalAlignmentCenterMargin0,3Text{Binding ControllerName}HorizontalAlignmentLeft/TextBlockTextBlockGrid.Column1VerticalAlignmentCenterMargin0,3Text{Binding CommunicationAddress}HorizontalAlignmentLeft/TextBlockTextBlockGrid.Column2VerticalAlignmentCenterMargin0,3Text{Binding CommunicationProtocol}HorizontalAlignmentLeft/TextBlockTextBlockGrid.Column3VerticalAlignmentCenterHorizontalAlignmentRightHyperlinkForegroundBlueViolet点位表/Hyperlink/TextBlockItemsControlx:NamePart_DetailVisibilityCollapsedGrid.Row1HorizontalContentAlignmentStretchGrid.ColumnSpan4BackgroundWhiteItemsSource{Binding Devicves}ItemsControl.ItemsPanelItemsPanelTemplateUniformGridColumns2/UniformGrid/ItemsPanelTemplate/ItemsControl.ItemsPanelItemsControl.ItemTemplateDataTemplateGridTextBlock.ForegroundBlackGrid.ColumnDefinitionsColumnDefinition/ColumnDefinitionColumnDefinition/ColumnDefinitionColumnDefinition/ColumnDefinitionColumnDefinition/ColumnDefinition/Grid.ColumnDefinitionsTextBlockText{Binding Name}Margin0,3VerticalAlignmentCenterHorizontalAlignmentCenter/TextBlockTextBlockGrid.Column1Text{Binding Address}Margin0,3VerticalAlignmentCenterHorizontalAlignmentCenter/TextBlockTextBlockGrid.Column2Text{Binding Unit}Margin0,3VerticalAlignmentCenterHorizontalAlignmentCenter/TextBlockTextBlockGrid.Column3VerticalAlignmentCenterHorizontalAlignmentCenterHyperlinkForegroundBlueCommand{Binding RelativeSource{RelativeSource AncestorTypelocal:SettingsPage, ModeFindAncestor}, PathDataContext.DeleteCommand}CommandParameter{Binding}删除/Hyperlink/TextBlock/Grid/DataTemplate/ItemsControl.ItemTemplate/ItemsControl/GridDataTemplate.TriggersDataTriggerBinding{Binding RelativeSource{RelativeSource AncestorTypeListBoxItem, ModeFindAncestor}, PathIsSelected}ValuetrueSetterTargetNamePart_DetailPropertyVisibilityValueVisible/Setter/DataTrigger/DataTemplate.Triggers/DataTemplate/ListBox.ItemTemplate/ListBox/GroupBoxGroupBoxHeader环境检测x:Namep2/GroupBoxGroupBoxHeader设置3x:Namep3/GroupBoxGroupBoxHeader设置4x:Namep4/GroupBoxGroupBoxHeader设置5x:Namep5/GroupBox/StackPanel/Page后台导航代码private void StackPanel_Click(object sender, RoutedEventArgs e) { if(e.OriginalSource is RadioButton btn) { //定位到指定的位置 frameContent.NavigationService.Navigate(new Uri($Views/SettingsPage.xaml#{btn.Tag}, UriKind.Relative)); } }效果2项目效果3项目链接。https://download.csdn.net/download/lingxiao16888/92865755
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2608673.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!