技术开发 频道

WPF企业应用基础:布局综合应用

      【IT168 技术应用】九 UniformGrid

  介绍了前面的Grid,接下来的这个UniformGrid 就太简单了,均布网格的是Grid的简化版本,每个单元格的大小相同,不用在定义行列集合。均布网格每个单元格只能容纳一个元素,将自动按照定义在其内部的元素个数,自动创建行列,并通常保持相同的行列数。

  要实现的效果如下图(用XAML和C#实现同一效果):

  XAML代码实现:

<Window
x:Class
="WPFLayoutDemo.UniformGridDEMO"
   xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
  xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"  
Title
="UniformGridDEMO" Height="300" Width="300">  
  
<UniformGrid Columns="2" Rows="2" Name="uniformGrid1" >      
  
<Rectangle Margin="10,10,10,10" Fill ="Gray"/>      
  
<Rectangle Margin="10,10,10,10" Fill ="Gray" />    
    
<Rectangle Margin="10,10,10,10" Fill ="Gray" />    
  
<Rectangle Margin="10,10,10,10" Fill ="Gray" />  
</UniformGrid>
</Window>

   C#代码实现:

namespace WPFLayoutDemo{
  
public partial class UniformGridDEMOCodeBehind : Window  
  {    
  
public UniformGridDEMOCodeBehind()        {        
InitializeComponent();        
    UniformGrid wp
= new UniformGrid();          
  
//把wp添加为窗体的子控件              this.Content = wp;        
   wp.Margin
= new Thickness(0, 0, 0, 0);        
   wp.Background
= new SolidColorBrush(Colors.White);      
    
//遍历增加Rectangles        
    Rectangle r;        
  
for (int i = 0; i <= 10; i++)            {              
  r
= new Rectangle();      
         r.Fill
= new SolidColorBrush(Colors.Gray);          
      r.Margin
= new Thickness(10, 10, 10, 10);              
wp.Children.Add(r);          
  }    
   }  
  }
}

   十. ViewBox

  ViewBox这个控件通常和其他控件结合起来使用,是WPF中非常有用的控制。定义一个内容容器,该容器可拉伸和缩放单个子元素以填满可用空间。一个 Viewbox 只能具有一个 Child。如果添加一个附加 Child,会导致一个运行时 ArgumentException错误。我们用得最多的首先是Stretch属性,然后是StrctchDirection属性,关于这两个元素,大家可以运行我们的代码,然后改变设置就可以看到效果。

  要实现的效果如下图(用XAML和C#实现同一效果):

  

0
相关文章