WPF窗体样式继承
来源:互联网 发布:sql server语句 编辑:程序博客网 时间:2024/05/30 23:02
在机房合作中,组合查询窗体用到了继承,那么如何继承呢?
我们写好的父窗口类为frmGroup,对应frmGroup.cs和frmGroup.xaml,要继承它的子窗体是学生上机统计信息frmStuOnlineInfo
这里我修改成:
<span style="font-family:KaiTi_GB2312;font-size:24px;">public partial class frmStuOnlineInfo : frmGroup</span>
但是经过编译会报错:frmStuOnlineInfo有着不同的基类
这是因为frmStuOnlineInfo同时继承了window和frmGroup,多继承是不允许的。
解决方法:
需要修改frmStuOnlineInfo.xaml,将其中的根“Window”,修改成我们的frmGroup:
<span style="font-family:KaiTi_GB2312;font-size:24px;"><Controls:MetroWindow x:Class="JfCooperate.一般用户.frmStuOnlineInfo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro" Title="frmStuOnlineInfo" Height="473.617" Width="831.064"> <Grid> </Grid></Controls:MetroWindow></span>
此时一个新的错误:src:frmGroup不能是Xaml文件的根,因为它是由Xaml定义的
解决方法:
把父窗体的xaml放到App.xaml中
下面是我设计的组合查询窗体的样式:
<span style="font-family:KaiTi_GB2312;font-size:24px;"><ControlTemplate x:Key="WindowControlTemplate1" TargetType="{x:Type Window}"> <Grid> <Frame Content="字段名" HorizontalAlignment="Left" Height="129" Margin="10,44,0,0" VerticalAlignment="Top" Width="152"/> <ComboBox HorizontalAlignment="Left" Margin="27,62,0,0" VerticalAlignment="Top" Width="120"/> <ComboBox HorizontalAlignment="Left" Margin="27,102,0,0" VerticalAlignment="Top" Width="120"/> <ComboBox HorizontalAlignment="Left" Margin="27,147,0,0" VerticalAlignment="Top" Width="120"/> <Frame Content="操作符" HorizontalAlignment="Left" Height="129" Margin="197,44,0,0" VerticalAlignment="Top" Width="152"/> <ComboBox HorizontalAlignment="Left" Margin="214,62,0,0" VerticalAlignment="Top" Width="120"/> <ComboBox HorizontalAlignment="Left" Margin="214,102,0,0" VerticalAlignment="Top" Width="120"/> <ComboBox HorizontalAlignment="Left" Margin="214,147,0,0" VerticalAlignment="Top" Width="120"/> <Frame Content="输入查询内容" HorizontalAlignment="Left" Height="129" Margin="527,45,0,0" VerticalAlignment="Top" Width="152"/> <ComboBox HorizontalAlignment="Left" Margin="544,78,0,0" VerticalAlignment="Top" Width="120"/> <ComboBox HorizontalAlignment="Left" Margin="544,133,0,0" VerticalAlignment="Top" Width="120"/> <Frame Content="组合关系" HorizontalAlignment="Left" Height="142" Margin="385,45,0,0" VerticalAlignment="Top" Width="137"/> <TextBox HorizontalAlignment="Left" Height="23" Margin="385,78,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/> <TextBox HorizontalAlignment="Left" Height="23" Margin="385,133,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/> <DataGrid HorizontalAlignment="Left" Margin="70,215,0,0" VerticalAlignment="Top" Height="208" Width="571"/> <Button Content="查询" HorizontalAlignment="Left" Margin="702,103,0,0" VerticalAlignment="Top" Width="75"/> <Button Content="清空" HorizontalAlignment="Left" Margin="702,173,0,0" VerticalAlignment="Top" Width="75"/> <Button Content="导出" HorizontalAlignment="Left" Margin="702,300,0,0" VerticalAlignment="Top" Width="75"/> <Button Content="退出" HorizontalAlignment="Left" Margin="702,236,0,0" VerticalAlignment="Top" Width="75"/> </Grid> <ControlTemplate.Triggers> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="ResizeMode" Value="CanResizeWithGrip" /> <Condition Property="WindowState" Value="Normal" /> </MultiTrigger.Conditions> </MultiTrigger> </ControlTemplate.Triggers> </ControlTemplate></span>
子窗体继承代码为:
<span style="font-family:KaiTi_GB2312;font-size:24px;"><Controls:MetroWindow x:Class="JfCooperate.一般用户.frmStuOnlineInfo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro" Title="frmStuOnlineInfo" Height="473.617" Width="831.064" Template="{StaticResource WindowControlTemplate1}"> <Grid> </Grid></Controls:MetroWindow></span>
显示结果
0 0
- WPF窗体样式继承
- [WPF] 自定义窗体样式
- [WPF] 自定义窗体样式
- WPF窗体继承
- WPF窗体继承
- WPF-样式继承
- WPF 窗体样式重写 界面优美
- WPF 窗体样式重写 界面优美-下载
- WPF窗体
- WPF 样式
- WPF样式
- WPF 样式
- wpf样式
- WPF 样式
- WPF样式
- 窗体继承
- 窗体继承
- 继承窗体
- eclipse4.4 +mavne3.3.9 + tomcat7.0
- 2使用struts2的标签库
- Imagenet classification with deep convolutional neural networks
- SpringMVC日期转换之JsonSerialize
- leetcode 6.ZigZag Conversion
- WPF窗体样式继承
- 浏览器缓存知识小结及应用
- tomcat目录结构
- 5文件上传与下载
- linux上安装部署activemq
- 剑指offer(56)-按之字形顺序打印二叉树
- 6拦截器
- java基础八:字符串
- VirtualBox迁移虚拟机和磁盘VDI