Silverlight 数据显示和布局控件 示例
數據顯示控件
DataGrid
DataGrid 是最基礎的數據顯示方式,也就是二維表格。
?
<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
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
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"/><!--水?平?控?件tShowsPreview: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直±控?件tShowsPreview: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
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開發詳解一書的源代碼
總結
以上是生活随笔為你收集整理的Silverlight 数据显示和布局控件 示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GPU Gems翻译
- 下一篇: boot怎么设置u盘启动顺序 设置U盘启