应用程序顶级标签一定是
WPF应用程序顶级标签一定是Window吗?很多人误以为是。可是,答案却是否定的。
我们不妨来测试一下。
首先使用顶级标签为Window,这是最普通、也是最常见的情况。
新建一个WPF应用程序,名称为Window1,利用工具箱在窗口中拖入一个按钮(Button)。
我们发现Window1中将得到类似如下内容:
// ml
Window x:Class=\"ndow1\"
xmlns=\"\"
xmlns:x=\"\"
Title=\"Window1\" Height=\"300\" Width=\"300\"
Grid
Button Height=\"23\" Margin=\"96,33,107,0\" Name=\"button1\" VerticalAlignment=\"Top\"Button/Button
/Grid
医生和患者本该是同一战壕的战友 /Window
//
using System;
using neric;
using nq;
using xt;
using ndows;
using ntrols;
using ta;
using cuments;
using put;
using dia;
using aging;
using apes;
namespace LogicalOverrideApp
{
/// summary
/// Interaction logic for ml
/// /summary
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
}
}
按F5运行它,将得到如下运行结果:
(图1)
好了,下面我们来学学孙悟空的七十二变,变点花样出来看看:
1、首先,我们试试将Grid标签去掉,ml变成:
// ml
Window x:Class=\"ndow1\"
xmlns=\"\"
xmlns:x=\"\"
Title=\"Window1\" Height=\"300\" Width=\"300\"
Button Height=\"23\" Margin=\"96,33,107,0\" Name=\"button1\" VerticalAlignment=\"Top\"Button/Button
/Window
按F5运行,效果一样。因为Grid只是窗体中内容的一个容器,在这里没有发挥出表格排列设计的效果,所以去掉之后是一样的。
2、再试试将顶级标签Window改成Page, ml内容变成:
// ml
Page x:Class=\"ndow1\"
xmlns=\"\"
xmlns:x=\"\"
Title=\"Window1\" Height=\"300\" Width=\"300\"
Button Height=\"23\" Margin=\"96,33,107,0\" Name=\"button1\" VerticalAlignment=\"Top\"Button/Button
/Page
由于将顶级标签改成了Page,所以C#代码也得改成从Page继承:
//
using System;
using neric;
using nq;
using xt;
using ndows;
using ntrols;
using ta;
using cuments;
using put;
using dia;
using aging;
using apes;
namespace LogicalOverrideApp
{
/// summary
/// Interaction logic for ml
/// /summary
public partial class Window1 : Page
{
public Window1()
{
InitializeComponent();
}
}
}
按F5运行,效果图变成:
(图2)
仔细看看图2与图1,有何差别?
首先我们发现窗体尺寸变了,不再是高宽均为300像素(可能不同的显示器会有所差异)。
其次,我们发现窗体的标题为空白,而且多了导航条。似乎Page的Title属性未记任何作用。如下图:
(图3)
3、再试试改成其他的标签,比如Canvas。由于Canvas没有Title属性,所以,要将Title属性去掉。
Canvas x:Class=\"ndow1\"
xmlns=\"\"
xmlns:x=\"\"
Height=\"300\" Width=\"300\"
Button Height=\"23\" Margin=\"96,33,107,0\" Name=\"button1\" VerticalAlignment=\"Top\"Button/Button
/Canvas
同理,C#代码也需要将父类改成Canvas(其他代码从略):
...
public partial class Window1 : Canvas
...
按F5运行结果,与图2无差异。
你还可以试试改为StackPanel等。不再赘述,慢慢分析一下,定有收获。
小结:本篇通过将Window标签改为Page,Canvas,StackPanel等,说明了WPF中窗体的顶级标签不一定是Window,并比较了显示效果的差异。
Trackback:
海口治疗男科哪家医院好短效降压药和长效哪个副作用大
天津前列腺炎治疗费用
- 12-29[奇幻]甄嬛传:果郡王其实知不知道双生子是他的?你看他回京时见了谁?
- 11-16[奇幻]西藏矿业现1笔大宗交易 总共成交442.27万元
- 11-15[奇幻]谷爱凌的战斗力,有一半竟然是因为这两滚头发?
- 11-14[奇幻]装修,别抱“侥幸心理”,避开这6个点,要新颖更得安全
- 11-11[奇幻]马斯克拜师了张小龙吗?
- 11-07[奇幻]别等装修结束,才去付钱家电,这4种最好提前考虑,不然麻烦都你的
- 10-22[奇幻]40集悬疑剧《杠杆》刚才开播,郭京飞领衔,3大看点,有爆款潜质
- 10-17[奇幻]广州今年继续实施1+3培养试验,41所学校计划招生3258人
- 10-13[奇幻]债权人远程赋“红码”被针对?相关单位:对不起,大数据出错了
- 10-12[奇幻]为何老一辈说黄鼠狼不能杀?科学研究表现,原来是不是不能杀
- 10-11[奇幻]停下来核酸手上盖章并保持3天?街道道歉
- 10-06[奇幻]衣服存放小技巧,一年不返潮不长虫,有点管用啦
- 10-03[奇幻]德国4月初PPI同比上涨33.5% 因能源价格飙升