Silverlight之控件应用总结(一)
代码都是测试通过的,环境Silverlight4+VS2010企业版。
1. 控件总览
2. 功能概述
Silverlight控件一览表
序号 |
控件名 |
主要作用 |
1. |
||
2. |
||
3. |
||
4. |
提供一个图形 UI以供用户选择日期。它一次显示一个月份中的日期,并且还允许用户从一个月份滚动到另一个月份或切换到年视图。 |
|
5. |
提供一个图面用于在画布的特定坐标处显示子元素。一个画布可包含一个或多个UIElement对象。有关更多信息,请参见Silverlight布局系统。 |
|
6. |
使用户能够选择(选中)或清除(取消选中)某个选项。CheckBox可以具有三种状态:选中、取消选中和不确定。使用CheckBox可以为用户提供一个选项(例如"真/假"或"是/否"),也可以使用户从选项列表中进行选择。CheckBox是一个ContentControl。 |
|
7. |
||
8. |
||
9. |
表示包含一段任意类型内容的控件。许多控件都派生自ContentControl并且可以包含对象,如Button或Panel。 |
|
10. |
提供一种灵活的方式来以行和列的形式显示数据集合。内置列类型包括文本框列、复选框列和用于承载自定义内容的模板列。内置行类型包括一个下拉详细信息部分,可用于在单元格值下方显示其他内容。 |
|
11. |
提供一个用户界面,以便对实现IPagedCollectionView的数据集合进行分页。 |
|
12. |
||
13. |
||
14. |
||
15. |
提供一个由行和列组成的图面来显示子元素。定义Grid的行和列之后,可以向网格中的特定行或列指派对象。可以选择显示网格线。有关更多信息,请参见布局系统。 |
|
16. |
使用户能够在Grid控件的行或列之间重新分配空间。它表示一种用户可以"抓取"和拖动的图形元素。GridSplitter分配间隔时采用的方向和方式由管理其对齐方式的附加属性以及Grid的行或列属性决定。 |
|
17. |
||
18. |
表示显示超链接的按钮控件。单击后,HyperlinkButton使用户能够访问同一 Web 应用程序中的网页或当前应用程序外部的网页。 |
|
19. |
显示 PNG或 JPEG 格式的图像。Image控件可显示具有 1 位、4 位或 8位颜色深度的索引图像,或者具有 24位或 32 位颜色深度的真彩色图像。 |
|
20. |
提供一个绘图图面以支持 Tablet PC功能。InkPresenter派生自画布,可显示一个或多个UIElement对象和笔画。 |
|
21. |
||
22. |
包含一个项集合。可通过将该控件绑定到数据源或通过显示未绑定的项来填充该控件。列表框是一个项控件,这意味着您可以使用包含文本或其他控件的项来填充它。 |
|
23. |
承载音频或视频内容。MediaElement控件提供了一个可在其图面上显示视频(如果不存在视频,则播放音频)的矩形区域。 |
|
24. |
使用户能够打开多分辨率图像,可缩放和重新定位该多分辨率图像以进行更详细的查看。MultiScaleImage用于Deep Zoom技术。 |
|
25. |
||
26. |
||
27. |
用于在单行和不换行的文本区域中输入敏感或私有信息。您无法查看实际文本,而只能查看表示内容的字符。 |
|
28. |
在现有内容之上覆盖内容。Popup控件可用于临时显示完成特定任务所需的信息。弹出控件将始终显示在现有内容之上,但如果它上面打开了另一个弹出控件,则前述说法不成立。 |
|
29. |
指示操作进度。可以使用此控件来显示一般进度或根据值而改变的进度。 |
|
30. |
使用户可以从一组选项中选择一个选项。可以通过将RadioButton控件放到父控件内或者将每个RadioButton的GroupName属性设置为特定的组来对 RadioButton 进行分组。分组后,各个RadioButton控件之间是互斥的。 |
|
31. |
表示从被按下到松开之前重复引发其单击事件的按钮。RepeatButton控件包含用于指定单击重复之前的延迟以及两次单击之间的间隔的属性。 |
|
32. |
||
33. |
||
34. |
提供一个滚动条,该滚动条具有一个可滑动的Thumb,其位置对应于某个值。ScrollBar控件的方向可以是水平的,也可以是垂直的。 |
|
35. |
封装一段内容,并提供最多两个ScrollBar控件来滚动内容视区。ScrollViewer控件使您能够设置视区相对于内容的大小,以及设置是否显示水平和垂直ScrollBar控件。 |
|
36. |
||
37. |
||
38. |
||
39. |
显示少量文本内容。可以使用Text属性来设置TextBlock的内容。或者,也可以将Inlines属性设置为一个Inline对象集合,例如Run或LineBreak对象。 |
|
40. |
用于获取用户输入,也可用于显示文本。文本框控件通常用于可编辑文本,但也可以设置为只读。文本框可以显示多个行,并且可以根据控件的大小自动换行。 |
|
41. |
使用弹出窗口为用户提供有关 UI中某个元素的信息。 |
|
42. |
||
43. |
||
44. |
||
45. |
提供用于排列屏幕中可见内容的堆叠面板控件,可根据需要创建其他 UI项。 |
|
46. |
3. 控件主要属性介绍
1.1. autocompletebox
1.1.
用法1:
<sdk:autocompletebox Name="autocompletebox1" Width="200"/>
List<string> lst =new List<string>();
lst.Add("张三");
张飞张龙李四王五 this.autocompletebox1.ItemsSource = lst;
用法2:
<autocompletebox Height="28"HorizontalAlignment="Left" Margin="42,35,0"Name="autocompletebox1"VerticalAlignment="Top" Width="242"ValueMemberPath="UserName" ItemsSource="{Binding}">
<autocompletebox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=UserName}"/>
</ </ </ </autocompletebox>
List<usermodel>lst =new usermodel>();
lst.Add(new usermodel(){ UserID = "01",UserName = "zhangsan" });
"02",21)">" });
"03",21)">"04",21)">"05",21)">"06",21)">"07",21)">马六 this.autocompletebox1.DataContext = lst;
1.2. Border
1.2.
用法1:
<!--Border用法
BorderThickness - 边框的宽度(像素值:上下左右;左右,上下;左,上,右,下)
BorderBrush - 边框的颜色
CornerRadius - 边框角的半径
-->
<Border BorderThickness="1,3,5,7" BorderBrush="Red" CornerRadius="10" Height="100"HorizontalAlignment="Left" Margin="203,70,0" Name="border1" VerticalAlignment="Top" Width="130">
TextBlock Text="边框为红色" Height="84" Width="100"/>
Border>
用法2:
<!--Border.BorderBrush画刷的应用-->
Border x:Name="bd2" BorderThickness="1,7" CornerRadius="10" Height="81"HorizontalAlignment="Left" Margin="6,68,0" VerticalAlignment="Top" Width="191">
Border.BorderBrush >
blue
Border.BorderBrush>
Border>
1.3. Button
1.3.
Click - 按钮的单击事件
Cursor - 鼠标移动到按钮上面时,鼠标指针的样式
Arrow - 箭头
Hand - 手形
Wait - 沙漏
IBeam - “I”字形
Stylus - 点
Eraser - 橡皮
None - 无
Padding - 容器内的内容与容器边缘的填充距离(像素值:上下左右;左右,51); font-family:Arial; font-size:14px; line-height:26px"> IsEnabled - 按钮是否有效
ClickMode - 触发单击事件的类型[System.Windows.Controls.ClickMode枚举]
ClickMode.Press - 鼠标左键单击
ClickMode.Release - 鼠标左键单击并放开
ClickMode.Hover - 鼠标经过-->
<Button Content="按钮测试" Cursor="Hand" ClickMode="Press" Height="23" Name="button1"Width="75" Click="button1_Click"/>
private voidbutton1_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(测试! }
1.4. Calendar
1.4.
<!--SelectedDatesChanged-选中日期后所触发的事件
displayDateStart - 此日期之前的日期不予显示
FirstDayOfWeek - 控件所显示的每星期的第一天为星期几[System.DayOfWeek枚举]
displayMode - 控件的显示模式[System.Windows.Controls.displayMode枚举]
displayMode.Month -标题显示年月,内容显示日期。默认值
displayMode.Decade -标题显示一个十年的区间,内容显示年
IsTodayHighlighted - 是否高亮显示今天的日期
Calendar.SelectedDate - 选中的日期
Calendar.SelectedDates - 选中的多个日期集合
Calendar.BlackoutDates - 不允许选择的日期集合
Calendar.BlackoutDates.AddDatesInPast()-禁止选择今天之前的日期
Calendar.BlackoutDates.Clear() -清除不允许选择的日期集合的设置
SelectionMode
CalendarSelectionMode.None -禁止选择日期
CalendarSelectionMode.SingleRange-可以选择多个日期,连续日期(Shift键配合)
alendarSelectionMode.MultipleRange-可以选择多个日期,任意日期(Ctrl键配合)
CalendarSelectionMode.SingleDate -只能选择一个日期-->
CalendarName="calendar1"displayMode="Month"IsTodayHighlighted="False" SelectionMode="SingleDate" Height="169" Width="230"SelectedDatesChanged="calendar1_SelectedDatesChanged"/>
1.5. Canvas
1.5.
<Canvas Name="canvas1" Height="150" Width="250" Background="Blue">
<Rectangle Canvas.Top ="30" Canvas.Left="30" Fill="Red" Height="30" Width="50"></Rectangle>
</Canvas>
1.6. CheckBox
1.6.
<!--IsChecked -是否被选中
IsThreeState - 是否是有3个状态的CheckBox
false - 通常的两状态。默认值
true - 有3个状态,分别为:true,false,null。也就是说 CheckBox.IsChecked是 bool? 类型
IsEnabled - CheckBox是否有效
CheckBox.Content - CheckBox所对应的内容
Checked - 被选中后所触发的事件
Unchecked - 被取消选中后所触发的事件
Click - 被单击后所触发的事件-->
CheckBox Content="是否保存" IsChecked="{x:Null}" ></CheckBox>
1.7. ChildWindow
显示子窗体
ChildWindow1 clw = newChildWindow1();
clw.Show();
1.8. ComboBox
<ComboBox displayMemberPath="UserName" Height="23" HorizontalAlignment="Left" Margin="100,41,0"Name="comboBox1" VerticalAlignment="Top" Width="120" >
usermodel> lst =new this.comboBox1.ItemsSource = lst;
1.9. ContentControl
1.9.
<UserControl.Resources>
Style x:Name="ContentCtrl" targettype="ContentControl">
<Setter Property="Background" Value="Red"/>
Setter Property="Foreground" Value="Green"/>
Setter Property="FontSize" Value="20"/>
Setter Property="FontWeight" Value="Bold"/>
Setter Property="Template">
Setter.Value>
ControlTemplate targettype="ContentControl">
Grid>
<!--Keep the Ellipse a circle whenContentControl.Width
is set.-->
Ellipse Width="{TemplateBinding Width}"
Height="{ Fill="{TemplateBinding Background}"/>
ContentPresenter VerticalAlignment="Center"
HorizontalAlignment="Center"/>
ControlTemplate>
</ </Setter>
</Style>
</Grid x:Name="LayoutRoot">
<ContentControl Width="75" Style="{StaticResource ContentCtrl}"
Content="Hello"/>
ContentControl Height="154" HorizontalAlignment="Left" Margin="94,195,0" Name="contentControl1"VerticalAlignment="Top" Width="100" Style="{StaticResource ContentCtrl}" />
</Grid>
1.10. DataGrid
DataGrid AutoGenerateColumns="False" Height="342" HorizontalAlignment="Left" Margin="62,53,0"Name="dataGrid1" VerticalAlignment="Top" Width="453" ItemsSource ="{DataGrid.Columns>
DataGridTextColumn Header="编号" Binding ="{Binding UserID}"CanUserReorder="True"CanUserResize="True"CanUserSort="True" Width="Auto" />
DataGridTemplateColumn Header="姓名" CanUserReorder="True" CanUserResize="True"CanUserSort="True" Width="Auto" >
DataGridTemplateColumn.CellTemplate>
DataTemplate >
TextBlock Text="{Binding UserName}"></TextBlock>
DataGridTemplateColumn.CellEditingTemplate >
TextBox Text="{Binding UserName,Mode=TwoWay}"></TextBox>
DataGridTemplateColumn.CellEditingTemplate>
DataGridTemplateColumn>
DataGrid>
this.dataGrid1.ItemsSource = lst;
1.11. DataPager
1.11.
DataPager Height="26" HorizontalAlignment="Left" Margin="62,401,0" Name="dataPager1"PageSize="10" VerticalAlignment="Top" Width="200"/>
for (int i = 0; i< 100; i++)
{
lst.Add(new "01" + i.ToString(),UserName =" + i.ToString() });
}
PagedCollectionView itemListView =new PagedCollectionView(lst);
//this.dataGrid1.ItemsSource = itemListView;
dataPager1.source = itemListView;
1.12. DatePicker
<!--
TextBox 结合 Calendar,经典的选择日期的方式
SelectedDateFormat - 被选中的日期的显示格式[System.Windows.Controls.DatePickerFormat枚举]
SelectedDateFormat.Short -简短格式。默认值。如2008-10-10
SelectedDateFormat.Long -非简短格式。如2008年10月10日
DatePicker SelectedDateFormat="Long" Height="23" HorizontalAlignment="Left" Margin="177,113,0"Name="datePicker1" VerticalAlignment="Top" Width="120" />
1.13. Ellipse
<!--
Width - 椭圆的宽
Height - 椭圆的高
stroke - 边框
Fill - 填充
Ellipse Height="100" Width="200" stroke="Blue"Fill="Red" strokeThickness="3" HorizontalAlignment="Left" Margin="175,167,0" Name="ellipse1" VerticalAlignment="Top" />
1.14. Frame
navigation:Frame Source="Page1.xaml" Height="268" HorizontalAlignment="Left" Margin="66,38,0"Name="frame1" VerticalAlignment="Top" Width="496"/>
1.15. Grid
Grid.ColumnDeFinitions>
ColumnDeFinition Width="175*" />
ColumnDeFinition Width="145*" />
ColumnDeFinition Width="160*" />
Grid.RowDeFinitions >
RowDeFinition ></RowDeFinition>
Grid.RowDeFinitions>
1.16. GridSplitter
GridSplitter Grid.Column ="1" Background="Blue" Width="5"
HorizontalAlignment="Right"VerticalAlignment="Stretch"/>
</ 1.17. HeaderedItemsControl
1.18. HyperlinkButton
NavigateUri -超级链接的目标地址
TargetName - 目标名
HyperlinkButton.Content - 超级链接所显示的内容
1.19. Image
<!--
-->
Image Source="/logo.jpg" Margin="5" Width="100" />
<!--
资源型文件 - [/程序集名;component/路径]
Image Source="/Silverlight20;component/Images/logo.jpg" Margin="5" Width="200" />
Image Source="http://silverlight.net/Themes/silverlight/images/logo.jpg" Margin="5" Width="100" />
1.20. InkPresenter
InkPresenter Name="InkPresenter1" Margin="78,84,170,140" Background="Blue"></InkPresenter>
StylusPoint segment1Start = new StylusPoint(200,110);
StylusPoint segment1End =newStylusPoint(185,150);
StylusPoint segment2Start =new StylusPoint segment2End =newStylusPoint(135,175)">StylusPoint segment3Start =new StylusPoint segment3End =newStylusPoint(175,180);
StylusPoint segment4Start =new StylusPoint segment4End =newStylusPoint(160,220);
StylusPoint segment5Start =new StylusPoint segment5End =newStylusPoint segment6Start =new StylusPoint segment6End =newStylusPoint(240,175)">StylusPoint segment7Start =new StylusPoint segment7End =newStylusPoint(225,175)">StylusPoint segment8Start =new StylusPoint segment8End =newStylusPoint(265,175)">StylusPoint segment9Start =new StylusPoint segment9End =newStylusPoint(215,175)">StylusPoint segment10Start =new StylusPoint segment10End =new StylusPointCollection strokePoints =new StylusPointCollection();
strokePoints.Add(segment1Start);
strokePoints.Add(segment1End);
strokePoints.Add(segment2Start);
strokePoints.Add(segment2End);
strokePoints.Add(segment3Start);
strokePoints.Add(segment3End);
strokePoints.Add(segment4Start);
strokePoints.Add(segment4End);
strokePoints.Add(segment5Start);
strokePoints.Add(segment5End);
strokePoints.Add(segment6Start);
strokePoints.Add(segment6End);
strokePoints.Add(segment7Start);
strokePoints.Add(segment7End);
strokePoints.Add(segment8Start);
strokePoints.Add(segment8End);
strokePoints.Add(segment9Start);
strokePoints.Add(segment9End);
strokePoints.Add(segment10Start);
strokePoints.Add(segment10End);
stroke newstroke =newstroke(strokePoints);
this.InkPresenter1.strokes.Add(newstroke);
地址: http://blog.csdn.net/zhaoyu_1979/article/details/7422324
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。