`
terryfeng
  • 浏览: 492182 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Silverlight 数据显示和布局控件 示例

阅读更多

数据显示控件

DataGrid

DataGrid 是最基础的数据显示方式,也就是二维表格。

 

image

 <data:DataGrid Name="dataGrid1" Height="120" 
                       Margin="5,5,5,5"
                       RowDetailsVisibilityMode="VisibleWhenSelected" 
                       AutoGenerateColumns="False">
                <data:DataGrid.Columns>
                    <data:DataGridTextColumn Header="订?单¥号?" 
                                         Width="SizeToHeader" 
                                         Binding="{Binding OrderID}"
                                         IsReadOnly="True"/>
                    <data:DataGridTextColumn Header=" 客í户§名?称? "
                                         Width="SizeToHeader"
                                         Binding="{Binding CustomerName}"/>
                    <data:DataGridTextColumn Header=" 订?单¥签?订?日?期ú " 
                                         Width="SizeToHeader"
                                         Binding="{Binding OrderDate}"/>
                    <data:DataGridCheckBoxColumn Header="是?否?变?更ü"
                                             Width="SizeToHeader"
                                             Binding="{Binding IsChanged}"/>
                </data:DataGrid.Columns>
            </data:DataGrid>
 
    
    Width="SizeToHeader"  宽度与Header相同
 
    
    this.dataGrid1.ItemsSource = Order.Orders.GetSampleOrderList();

  /// <summary>
    /// 订?单¥集ˉ合?类à
    /// </summary>
    public class Orders
    {
        public static List<Order> GetSampleOrderList()
        {
            return new List<Order>{new Order("001", "A公?司?"
                , DateTime.Now, true),
                new Order("002", "B公?司?"
                    , DateTime.Now, false)};
        }
    }

 

DataPager

image

DataPager是翻页控件,用来与ListBox,DataGrid组合并实现翻页的控件。

xmlns:dataControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"

<ListBox x:Name="listBox"/>
    <dataControls:DataPager x:Name="dataPager"
        Source="{Binding ItemsSource,ElementName=listBox}" 
        Background="LightBlue">
    </dataControls:DataPager>

 

public SC_Pager()
       {
           InitializeComponent();
           //设置分页控件基本属性
           dataPager.DisplayMode = PagerDisplayMode.FirstLastPreviousNextNumeric;
           //分页事件
           dataPager.PageIndexChanged +=
               new EventHandler<EventArgs>(dataPager_PageIndexChanged);
           //设置页尺寸
           dataPager.PageSize = 5;
           //定义数据源
           string[] source = @"一,二,三,四,五,六,七,八,九,十
   ,十一,十二,十三,十四,十五".Split(',');
           //创建分页集合对象
            PagedCollectionView pager = new PagedCollectionView(source);
           //将分页集合做为数据源绑定到ListBox控件
            listBox.ItemsSource = pager;
       }
       //显示当前页号
       void dataPager_PageIndexChanged(object sender, EventArgs e)
       {
           DataPager dataPager = sender as DataPager;
           MessageBox.Show("当前是第" + dataPager.PageIndex.ToString() + "页");
       }

 

TreeView

image

TreeView 树控件,他的节点可以是文字也可以是其他XAML 元素,TreeViewItem元素代表节点,可以一层嵌套一层

 xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"

<controls:TreeView Width="300" Margin="10"
                   x:Name="treeView">
        <controls:TreeViewItem Header="商ì品·树÷"
                           IsSelected="True"
                           IsExpanded="True">
            <controls:TreeViewItem Header="茶è" 
                               IsExpanded="True">
                <controls:TreeViewItem Header="铁ú观?音?"/>
                <controls:TreeViewItem Header="茉?莉ò花¨" />
            </controls:TreeViewItem>
            <controls:TreeViewItem Header="电?脑?"
                               IsExpanded="True">
                <controls:TreeViewItem Header="台¨式?机ú"
                                   IsExpanded="True">
                    <controls:TreeViewItem Header="Dell"/>
                    <controls:TreeViewItem Header="联a想?"/>
                </controls:TreeViewItem>
                <controls:TreeViewItem Header="笔ê记?本?"
                                   IsExpanded="True">
                    <controls:TreeViewItem>
                        <controls:TreeViewItem.Header>
                            <CheckBox Content="Ibm" 
                                  Click="CheckBox_Click" 
                                  Width="100"/>
                        </controls:TreeViewItem.Header>
                    </controls:TreeViewItem>
                    <controls:TreeViewItem>
                        <controls:TreeViewItem.Header>
                            <CheckBox Content="Dell"
                                  Click="CheckBox_Click"
                                  Width="100"/>
                        </controls:TreeViewItem.Header>
                    </controls:TreeViewItem>
                </controls:TreeViewItem>
            </controls:TreeViewItem>
        </controls:TreeViewItem>
    </controls:TreeView>

 

Header="笔记本"  属性代表树节点的显示内容

 

布局控件

布局控件是纯粹为展现UI而设计的控件。

 

Border

 

 

Canvas

面板控件

 

Grid

格子控件

 

StackPanel

排列控件

 

GridSplitter

Grid的组合控件,用来实现格子大小的鼠标拖动修改。

下面定义了,三行三列的格子,其中夹在中间的2个像素的分析放置了GridSplitter控件,用来使用鼠标拖动,来调整格子的大小。

<Grid Name="LayoutRoot" Background="#46461F">
    <Grid.RowDefinitions>
        <RowDefinition Height="100"/>
        <RowDefinition Height="2"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="100"/>
        <ColumnDefinition Width="2"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <Rectangle Grid.Row="0" Grid.Column="0" Fill="Red"/>
    <Rectangle Grid.Row="0" Grid.Column="2" Fill="Blue"/>
    <Rectangle Grid.Row="2" Grid.Column="0" Fill="Green"/>
    <Rectangle Grid.Row="2" Grid.Column="2" Fill="Yellow"/>

    <!--水?平?控?件t
        ShowsPreview:o为aTrue时±显?示?预¤览à效§果?
        HorizontalAlignment:o为a"Stretch"时±,?可é调÷整?行D的?大ó小?
        VerticalAlignment:o为a"Stretch"时±,?可é调÷整?列D的?大ó小?
    -->
    <basics:GridSplitter Grid.Row="1" Grid.Column="0"
                         Grid.ColumnSpan="3" 
                         ShowsPreview="True" 
                         HorizontalAlignment="Stretch" 
                         VerticalAlignment="Stretch">
    </basics:GridSplitter>
    <!--垂1直±控?件t
        ShowsPreview:oFalse时±不?显?示?预¤览à
        -->
    <basics:GridSplitter Grid.Row="0" Grid.Column="1" 
                         Grid.RowSpan="3" 
                         ShowsPreview="False" 
                         HorizontalAlignment="Stretch"
                         VerticalAlignment="Stretch">
    </basics:GridSplitter>
</Grid>

 

ScrollViewer

ScrollViewer是滚动条窗口控件,当包含在他其中的控件大小超出了ScrollViewer的大小的时候,滚动条就会变的可拖动。

<ScrollViewer VerticalScrollBarVisibility="Visible" 
                  HorizontalScrollBarVisibility="Auto" Name="scv_Text">
            </ScrollViewer>

 

 

TabControl

image

TabControl 是选项卡控件。

<basics:TabControl x:Name="tab1" Width="300" Height="200">
        <basics:TabItem Header="选?项?卡¨1" Content="这a是?第ú一?个?选?项?卡¨"/>
            <basics:TabItem Header="选?项?卡¨2" >
                <Button Content="Button" Height="23" Name="button1" Width="75" />
            </basics:TabItem>
    </basics:TabControl>

 

 

示例出自Silverlight开发详解一书的源代码

分享到:
评论

相关推荐

    ASP.NET.4揭秘

    8.4 模板和数据绑定表达式272 8.4.1 使用模板272 8.4.2 使用数据绑定表达式275 8.4.3 使用双向数据绑定表达式278 8.5 sql server 2008 express概述280 8.5.1 sql server express 特性280 8.5.2 sql server 2008 ...

    ASP.NET4高级程序设计(第4版) 3/3

    另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。  《ASP.NET 4高级程序设计(第4版)》适合各层次的ASP.NET程序员阅读。 作者简介 作者:(美)麦克唐纳 目录 第一部分 核心概念 第1章 ASP.NET简介 ...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。  《ASP.NET 4高级程序设计(第4版)》适合各层次的ASP.NET程序员阅读。 =================== 第一部分 核心概念 第1章 ASP.NET简介 1.1 ASP.NET的...

    一款非常好的WPF编程宝典2010 源代码

    和数据提供者 451 17.1 数据绑定回顾 451 17.2 数据模板 452 17.2.1 分离和重用模板 454 17.2.2 更高级的模板 455 17.2.3 改变模板 457 17.2.4 模板选择器 458 17.2.5 模板与选择 462 17.2.6 样式选择器 466...

    Apress.Pro.WPF.in.C.Sharp.2008.2nd.Edition.Feb.2008

    和数据提供者 451 17.1 数据绑定回顾 451 17.2 数据模板 452 17.2.1 分离和重用模板 454 17.2.2 更高级的模板 455 17.2.3 改变模板 457 17.2.4 模板选择器 458 17.2.5 模板与选择 462 17.2.6 样式选择器 466 17.2.7...

    Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf

    第ii部分 业务对象和数据访问第8章 数组、集合和泛型 311 8.1 数组 312 8.1.1 多维数组 313 8.1.2 ubound函数 314 8.1.3 redim语句 314 8.1.4 preserve关键字 315 8.2 集合 315 8.2.1 循环语句 317 ...

    wpf编程宝典c#2010版pdf(全)1/3包,共118M

     1.2.3 Silverlight  1.3 分辨率无关性  1.3.1 WPF单位  1.3.2 系统DPI  1.3.3 位图和矢量图形  1.4 WPF体系结构  1.5 WPF4  1.5.1 新特性  1.5.2 WPF工具包  1.5.3 VisualStudio2010  1.6 小结  第2章 ...

    wpf编程宝典c#2010版pdf(全)2/3包,共118M

     1.2.3 Silverlight  1.3 分辨率无关性  1.3.1 WPF单位  1.3.2 系统DPI  1.3.3 位图和矢量图形  1.4 WPF体系结构  1.5 WPF4  1.5.1 新特性  1.5.2 WPF工具包  1.5.3 VisualStudio2010  1.6 小结  第2章 ...

Global site tag (gtag.js) - Google Analytics