WPF笔记(2.4 Grid)】的更多相关文章

原文:WPF笔记(2.4 Grid)--Layout 第一章已经简单介绍过这个容器,这一节详细介绍.Grid一般是用表格(Grid.Row 和Grid.Column )的,比StackPanel更细致一些,但是,这么玩很麻烦,先横着竖着定义一大堆,然后把元素指定其表格位置,即插入数据,和我们平常习惯的HTML表格不太一样,甚至更麻烦了.原因如下:Html空单元格要放占位符,这样会放很多:Grid玩法则是用什么元素就指定单元格位置,不用的单元格默认是空,不用指定.另外,Grid单元格中的多个控件可…
第一章已经简单介绍过这个容器,这一节详细介绍.Grid一般是用表格(Grid.Row 和Grid.Column )的,比StackPanel更细致一些,但是,这么玩很麻烦,先横着竖着定义一大堆,然后把元素指定其表格位置,即插入数据,和我们平常习惯的HTML表格不太一样,甚至更麻烦了.原因如下:Html空单元格要放占位符,这样会放很多:Grid玩法则是用什么元素就指定单元格位置,不用的单元格默认是空,不用指定.另外,Grid单元格中的多个控件可以按照Z轴堆叠,这个顺序是由控件在xaml上的出现顺序…
原文:WPF笔记(2.9和2.10)--Layout 2.9讲的是,如果内部设定超过容器大小,怎么办?StackPanel会裁剪越界部分DockPanel和Grid会智能判断,从而决定换行. 2.10 自定义布局容器自定义容器要实现两个方法MeasureOverride和ArrangeOverride,并保证遍历其下的所有子控件,使他们都执行Measure和Arrange方法. using System;using System.Windows.Controls;using System.Win…
原文:WPF笔记(1.4 布局)--Hello,WPF! 这一节只是第2章的引子.布局要使用Panel控件,有四种Panel,如下:DockPanel,就是设置停靠位置布局模型.StackPanel,提供一个从左至右或从上至下放置内容的堆栈模型.Grid,提供一个允许进行 行/网格定位的模型.可使用表格.Canvas,可精确定位.其中,Grid是最常用的,vs2005自动生成的Page和window都默认带有这个标签: Example 1-25. A sample usage of the Gr…
原文:WPF笔记(2.8 常用的布局属性)--Layout 这一节老没意思,啰里啰唆的尽是些HTML的属性,挑几个好玩的List出来,备忘:Padding与Margin的区别:Margin指控件边界与外界的间隙:Padding指的是控件内部内容与控件边界的间隙.两者可以同时使用. 不再支持 RenderTransform= "scale 3"改为:   <Button>   <Button.LayoutTransform>    <ScaleTransfo…
原文:WPF笔记(2.7 文字布局)--Layout 这一节介绍的是文字布局的几个控件:1.TextBlock      最基本的文字控件可以配置5个Font属性.TextWraping属性,"Wrap"是换行,NoWrap是不换行(原书有误,在此更正).TextBlock控件内可以放置很多控件,不光是文字. <TextBlock TextWraping="Wrap">    <Button>Split</Button>    &…
原文:WPF笔记(2.5 Canvas)--Layout Canvas是最精确的布局容器--绝对定位,此书作者不建议使用,以为控件的大小一般会随着内部字体图片的动态生成而自动变化,所以使用前三种布局是最好的选择,在这一点上,我也持同样意见.Canvas使用Top/Bottom属性控制距离顶部/底部的高度:使用Left/Right属性控制距离左/右的距离.有趣的是,调整Form的大小,第二个TextBlock的位置会相应变化,但和底部以及右边的距离是不变的,代码见下: <Canvas Backgr…
原文:WPF笔记(2.6 ViewBox)--Layout 在Canvas外面包一层ViewBox,可以使Canvas内的控件填充整个ViewBox,并随着ViewBox的大小变化而同步变化,这是因为ViewBox默认属性Stretch=“Uniform”.Stretch有四个属性:Uniform,Fill(为了填充甚至会拉伸),None(无效果,相当于没有用ViewBox),UniformToFill(如果Canvas大于ViewBox大小则裁剪)老实说,这节我没看太懂,让我再try一下.…
原文:WPF笔记(2.2 DockPanel)--Layout 读完了这一节,发现DockPanel就是过去winform中的Dock属性.原来的Dock属性是子控件设置,而其父亲级别不用设置.现在WPF改为在父亲级别抽象出一个DockPanel,然后设置其下子控件的Dock属性. <DockPanel LastChildFill="True">    <Button DockPanel.Dock="Left">Left</Button…
原文:WPF笔记(2.3 StackPanel)--Layout StackPanel用于小规模的排版布局,比如说一个局部下几个textbox和Button啦.Orientation属性有Vertical和Horizontal两种选择,决定布局方向.所有控件都有Margin属性,用来使控件之间不那么拥挤,Margin随Vertical和Horizontal的不同而所加的空白方向不同,当然Margin=“3,3”意味着同时在两个方向上有空白.HorizontalAlignment属性用来调整控件的…
原文:WPF笔记(1.10 绘图)--Hello,WPF! 书中的代码语法过时了,改写为以下(测试通过):         <Button>            <Button.LayoutTransform>                <ScaleTransform  ScaleX="3" ScaleY="3" />            </Button.LayoutTransform>           …
原文:WPF笔记(1.9 样式和控件模板)--Hello,WPF! 资源的另一个用途是样式设置: <Window >  <Window.Resources>    <Style x:Key="myStyle" TargetType="{x:Type TextBlock}">      <Setter Property="VerticalAlignment" Value="Center"…
原文:WPF笔记(1.8 资源与映射)--Hello,WPF! 终于,看明白了,已经是凌晨1:39分.这本书这一节写得实在是不好,一个local搞得我糊里糊涂,于是,准备按照他的思路,按照我的理解,改写一遍,包括源代码.首先,这句话WPF新版本已经不用了:<?Mapping XmlNamespace="local" ClrNamespace="DataBindingDemo" ?>,这里DataBindingDemo是例子的命名空间.然后Window标签…
原文:WPF笔记(1.6 数据绑定)--Hello,WPF! 这个一节都是在讲一个数据绑定的示例.功用:输入姓和名,点击Add按钮,ListBox增加一条记录,永远是字符串“name: nick”:ListBox原先有3条不同记录,选中ListBox一条记录,两个输入框姓和名相应变化.技术分析:2个类,一个xaml,一个一个分析.1)Nickname类, 实体类,提供两个属性Nick和Name,还有一个PropertyChanged事件.实现了INotifyPropertyChanged 接口(…
原文:WPF笔记(1.3 属性元素)--Hello,WPF! 这一节中“属性元素”的概念可以用匪夷所思形容.1.WPF用标签元素实现对象建模,有两种:Control和Container,都用来装载内容和行为,前者如Button,后者如Window.你可以这样写: <Window >  <Button Width="100" Height="100">    <Image Source="tom.png" /> …
原文:WPF笔记(1.1 WPF基础)--Hello,WPF! Example 1-1. Minimal C# WPF application// MyApp.csusing System;using System.Windows; // the root WPF namespacenamespace MyFirstAvalonApp {  class MyApp {    [STAThread]    static void Main(  ) {      // the WPF message…
原文:WPF笔记(1.2 Navigation导航)--Hello,WPF! 这一节是讲导航的.看了一遍,发现多不能实现,因为版本更新了,所以很多旧的语法不支持了,比如说,不再有NavigationApplication,仍然是Application,TextBlock容器的TextWrap属性改为TextingWrap,StartupUri指向"Page1.xaml".只要WPFApplication(不是Browser)内展示Page的页面,都会自动产生导航条.下面我们来看Page…
原文:WPF笔记 ( xmlns引用,Resource.Binding 前/后台加载,重新绑定) 2013.6.7更新 1.xmlns Mapping URI的格式是 clr-namespace:<clr namespace>[;assembly=<assembly name>] (1)如果自定义类和XAML处在同一个Assembly之中,只还需要提供clr-namespace值.  xmlns:converter="clr-namespace:Pansoft.SCV.W…
回顾 上一篇,我们介绍了基本控件及控件的重要属性和用法,我们本篇详细介绍WPF中的几种布局容器及每种布局容器的使用场景,当 然这些都是本人在实际项目中的使用经验,可能还存在错误之处,还请大家指出. 本文大纲 1.Grid 2.StackPanel 3.DockPanel 4.WrapPanel Grid 1.Row和Column 我们下面来介绍Grid的行的用法,及我们在UI设计过程中需要注意的细节. 由于前面我们在第一章中已经介绍了基本的关于Grid的表格行和列的定义及相关属性,为了防止大家遗…
  Grid是WPF和Silverlight中的一个重要的布局元素,其他的布局元素还有StackPanel, Canvas, Border等等.从字面上说,Grid是一个表格的意思,它的使用也确实很方便,从视觉上很像一个表格的样式,有行,有列的概念,这种效果很适合于需要多多个子控件进行布局,并希望保持左边或者上对齐的效果. 我们来看一个最简单的例子(本文采用Silverlight做演示,在WPF中也是一样的) 使用Grid的时候,一般先定义Grid的行和列的设置,然后在其放置其他控件并且设置他们…
1.使用TypeConvert类将XAML标签的Attribute与对象的Propety进行映射 由于XAML所有属性=属性值,其中属性值必须是字符串,当属性值不是字符串时需要添加将该属性值转换成字符串的转换器,如下Human类child的Human类情况 <Window x:Class="WPF.TypeConvertFromProperty" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentati…
回顾 上一篇,我们介绍了基本控件及控件的重要属性和用法,我们本篇详细介绍WPF中的几种布局容器及每种布局容器的使用场景,当 然这些都是本人在实际项目中的使用经验,可能还存在错误之处,还请大家指出. 本文大纲 1.Grid 2.StackPanel 3.DockPanel 4.WrapPanel Grid 1.Row和Column 我们下面来介绍Grid的行的用法,及我们在UI设计过程中需要注意的细节. 由于前面我们在第一章中已经介绍了基本的关于Grid的表格行和列的定义及相关属性,为了防止大家遗…
笔记内容: BUG.WPF运行窗体时调用Hide()方法,然后再Show()异常的解决方案 WPF 窗体设置为无边框 选择本地文件 选择文件夹 WPF实现右下角弹出消息窗口 WPF 显示 HTTP 网络图片 获得当前应用软件的版本 获取匿名对象(object)的属性值 WPF *.exe给另一个*.exe传值 C# zip压缩与zip解压,下载地址:点击此处DotNetZip C#通过文件路径获取文件名 C#中 is判断类型 和 as强制转换 WPF 获取程序路径的一些方法,根据程序路径获取程序…
想要说些什么,却不知道从哪开始."形而上谓之道,形而下谓之器".与其坐而论道,不如脚踏实地,从最实用的地方开始. 我们先来看看wpf中的grid控件.grid控件是个网格的布局控件,类似于网页中的table.我们看看一个例子: <Grid x:Name="> <Grid.ColumnDefinitions> <ColumnDefinition></ColumnDefinition> <ColumnDefinition>…
数据层(Database,Oracle等) 业务逻辑层(Service,Data Access Layer,WCF) 表示层(WPF,Win Form,ASP.net,Silverlight) [WPF开发方法论] AS-IS:UI事件驱动程序运行(Win Form)--TO-BE:数据驱动程序运行并显示在UI上(WPF) XAML:WPF技术中专门用于设计UI的语言. 逻辑树(logical tree):不考虑控件内部的组成结构,只观察由控件组成的"树". 可视元素树(visual…
使用WPF创建第一个应用程序.实现功能如下: 单击"Red"按钮,文本显示红色:单击"Black"按钮,文本显示黑色:单击"Back"按钮,退出当前应用程序. 实现步骤如下: 新建项目,选择WPF程序. 选中创建的windows窗口,在属性中更改Title为"使用visual studio 2015 创建WPF应用程序". 添加lable,将内容更改为"Hello WPF!",在属性中更改背景色backgr…
http://www.cnblogs.com/chenxizhang/archive/2011/09/22/2185414.html…
Grid布局已经不是新鲜的技术了,但一直都是使用了Flex布局,如今需要了边学习边做些常用的笔记.首先grid和flex一样都不支持IE10以下的浏览器 基本布局: 一般是所有子元素都横向排列或者都纵向排列, 当父容器设置了grid, 其子项的 clear, float , vertical-align是无效的. (1)横向 <div class="container"> <div class="item item-1">item1</…
WPF Grid 用 C# 代码后台设置 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-21 参考: System.Windows.Controls 命名空间 WPF如何动态删除 Grid 行 老咸菜 Blog 章节: 动态增加行列及控件放置 设置Grid的行列尺寸 正文: 一.动态增加行列及控件放置 要用到 Grid.SetRow(控件名, 行序号) Grid.SetColumn(控件名, 列序号), 另一种写法是:…
此版本是根据别人的项目改造的,记录下笔记 原文:https://blog.csdn.net/catshitone/article/details/75089069 一.即时弹出 1.创建弹出框 新建一个100*300的WPF页面NotificationWindow.Xaml <Grid Background="AliceBlue"> <Button Click="/> <TextBlock x:Name="tbTitle" H…