"(引号) 
(换行符) TextBlock中<LineBreak />(换行)
一、布局控件
Canvas面板是一种很基础的布局面板,它支持对其中的控件采用绝对坐标定位。Canvas.Top和Canvas.Left。Canvas.ZIndex附加属性:如果指定了两个控件相对于父容器Canvas同样的边距,则后面声明的控件父覆盖前面声明的控件。这时我们可以使用Canvas.ZIndex属性来改变它们的显示顺序。
StackPanel是一种简单的布局面板,它支持用行或列的方式来定位其中包含的控件。StackPanel 常用于安排页面上的一个很小的 UI 部分。默认情况下,Orientation 属性为Vertical, 即默认情况下所有的子元素会垂直的排列显示。
Orientation -StackPanel控件内对象的排列方向
Horizontal- 水平排列
Vertical - 垂直排列
Grid 控件是最灵活的布局面板,它支持用多行和多列的方式排布控件。在<Grid> 标签内,通过<Grid.RowDeFinitions> 和<Grid.ColumnDeFinitions> 属性来定义Grid 的行和列,使用Grid.Row和Grid.Column两个附加属性指定子元素在Grid中显示的位置。ShowGridLines属性设为True,能够显示出边框线。Grid.RowSpan获取或设置一个值,该值指示对Grid的行进行合并的总行数。
Grid - 表格式布局模式
Grid.RowDeFinitions - 用于定义 Grid 中的行
Grid.ColumnDeFinitions - 用于定义 Grid 中的列
Grid.Row - 控件所在的 Grid 的行的索引
Grid.Column - 控件所在的 Grid 的列的索引
Grid.RowSpan - 合并行。 控件所在行,以及控件所在行之后的需要连续合并的行的总行数
Grid.ColumnSpan- 合并列。 控件所在列,以及控件所在列之后的需要连续合并的列的总列数
Width - 宽度
MinWidth - 最小宽度
MaxWidth - 最大宽度
Height - 高度
MinHeight - 最小高度
MaxHeight - 最大高度
Width 和 Height 的可用值
Pixel - 像素值
* - 比例值。如 * 就是全部,2* & 8* 就是分别占20%和80%
二、<Border> 控件
设置其CornerRadius 为 10,以得到圆角效果,并在其中添加一些文本来创建标题。
<!--
BorderThickness- 边框的宽度(像素值:上下左右;左右,上下;左,上,右,下)
BorderBrush - 边框的颜色
CornerRadius - 边框角的半径
-->
<Border BorderThickness="1,3,5,7" BorderBrush="Red" CornerRadius="10" Width="120" Margin="5">
<TextBlock Text="红色Border" ToolTipService.ToolTip="红色Border" TextAlignment="Center" />
</Border>
<!--
Border.BorderBrush - 继承自 System.Windows.Media.Brush 的对象
-->
<Border BorderThickness="3" CornerRadius="10" Width="120" Margin="5">
<TextBlock Text="红色Border" ToolTipService.ToolTip="红色Border" TextAlignment="Center" />
<Border.BorderBrush>
<ImageBrush ImageSource="http://silverlight.net/Themes/silverlight/images/logo.jpg"/>
</Border.BorderBrush>
</Border>
三、<WatermarkedText@R_404_6277@> 控件 <显示其他控件时>
水印效果文本框,可以在文本框未获得焦点之前显示一段文字提示信息,也可以显示其它的控件。
<local:WatermarkedText@R_404[email protected]="140" Canvas.Left="50" Width="300"Height="50" >
<local:WatermarkedText@R_404[email protected]>
<ImageSource="/admin.jpg" HorizontalAlignment="Left"></Image>
</local:WatermarkedText@R_404[email protected]>
</local:WatermarkedText@R_404_6277@>
注意:admin.jpg存放在ClientBin目录下(blend5中没有此控件)
四、ToggleButton控件
Click -ToggleButton的单击事件
Cursor - 鼠标移动到ToggleButton上面时,鼠标指针的样式
Arrow - 箭头
Hand - 手形
Wait - 沙漏
IBeam - “I”字形
Stylus - 点
Eraser - 橡皮
None - 无
IsThreeState - 是否是 有3个状态的ToggleButton
false - 通常的两状态。默认值
true - 有3个状态,分别为:true,false,null。也就是说ToggleButton.IsChecked 是 bool? 类型
Checked -ToggleButton的IsChecked变为true时所触发的事件
Unchecked -ToggleButton的IsChecked变为false时所触发的事件
Indeterminate -ToggleButton的IsChecked变为null时所触发的事件
IsEnabled - ToggleButton是否有效
ToggleButton.Content - ToggleButton上显示的内容
ClickMode - 触发单击事件的类型[System.Windows.Controls.ClickMode枚举]
ClickMode.Press- 鼠标左键单击
ClickMode.Release - 鼠标左键单击并放开
ClickMode.Hover - 鼠标经过
五、ScrollViewer控件
当其中显示的内容超过它自身的大小时,就会有滚动条出现。通过属性HorizontalScrollBarVisibility和VerticalScrollBarVisibility来控制纵向和横向滚动条是否出现。
<!--
ScrollViewer.Content- ScrollViewer控件中的内容
HorizontalScrollBarVisibility - 水平滚动条的显示状态
VerticalScrollBarVisibility - 垂直滚动条的显示状态
Auto - 自动根据ScrollViewer的宽和高,以及内容的宽和高,来决定是否显示滚动条
disabled - 不显示,但是可以通过键盘或鼠标在显示内容中的移动或拖动操作,来看到被遮挡的内容
Visible - 显示滚动条
-->
<ScrollViewer Margin="5" Width="200" Height="200" HorizontalAlignment="Left" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<ScrollViewer.Content>
<Image Source="/Silverlight20;component/Images/logo.jpg" Width="300" />
</ScrollViewer.Content>
</ScrollViewer>
<ScrollViewer Margin="5" Width="100" Height="100" HorizontalAlignment="Left" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Text@R_404_6277@>
<Text@R_404[email protected]>
aaa
bbb
ccc
ddd
</Text@R_404[email protected]>
</Text@R_404_6277@>
</ScrollViewer>
六、TextBlock控件
<!--
Text -TextBlock上显示的值
-->
<TextBlock Text="TextBlock" />
<!--
Foreground - 字体颜色
-->
<TextBlock Text="红色的TextBlock" Foreground="Red" />
<!--
要以XAML的方式直接显示引号等特殊字请使用相应的HTML编码
-->
<TextBlock Text="带引号的"TextBlock""/>
<!--
FontFamily - 字体
FontSize - 字体大小
FontWeight - 字形粗细度[System.Windows.FontWeights枚举]
FontStyle - 字形斜体否[System.Windows.FontStyles枚举]
Textdecorations- 字体下划线 [System.Windows.Textdecorations枚举]
FontStretch - 字体间距[System.Windows.FontStretches枚举]
-->
<TextBlock Text="常用属性TextBlock" FontFamily="宋体" FontSize="36" FontWeight="Bold" FontStyle="Italic" Textdecorations="Underline" FontStretch="normal" />
<!--
TextAlignment -文字排列[System.Windows.TextAlignment枚举]
Run - 文本内容
LineBreak - 换行符
LineHeight - 每行行高
textwrapping - 文本限制(超过限制是否换行)
Nowrap - 永不换行
Wrap - 超过限制则换行
LinestackingStrategy - 控制行高的策略
MaxHeight -TextBlock内每行的行高 以LineHeight值 和 每行自身所设置的行高值 间的最大值为准
BlockLineHeight - TextBlock内每行的行高 以LineHeight值为准
-->
<TextBlock VerticalAlignment="Center" TextAlignment="Center" LineHeight="10" LinestackingStrategy="MaxHeight" Width="200" textwrapping="Nowrap">
<Run FontSize="20" Foreground="Maroon" Text="MaroonMaroonMaroonMaroon"/>
<LineBreak/>
<Run Foreground="teal" Text="teal" />
<LineBreak/>
<Run FontSize="30" Foreground="SteelBlue" Text="SteelBlue" />
</TextBlock>
<TextBlock VerticalAlignment="Center" TextAlignment="Center" LineHeight="10" LinestackingStrategy="BlockLineHeight" Width="200" textwrapping="Wrap">
<Run FontSize="20" Foreground="Red" Text="RedRedRedRedRedRedRedRedRed"/>
<LineBreak/>
<Run Foreground="Green" Text="Green" />
<LineBreak/>
<Run FontSize="30" Foreground="Blue" Text="Blue" />
</TextBlock>
ToolTip控件
ToolTip控件很多时候都用于其它控件的内嵌控件,如Button控件的ToolTip附加属性等。
注意: ToolTip控件用作内嵌控件时,应采用ToolTipService.ToolTip属性设置,如下
<Button x:Name="myButton" Content="TextTooltip" Canvas.Top="80" Canvas.Left="130" Width="240" Height="100" FontSize="20" Background="Red" ToolTipService.ToolTip="This is a summitbutton"/>
Rectangle
矩形显示框:Fill——颜色;Margin——边距;stroke——边框颜色;strokeThickness——边框厚度
<!--矩形-->
<!--
RadiusX - 边角圆弧的X轴半径
RadiusY - 边角圆弧的Y轴半径
-->
<Rectangle Width="200" Height="120" stroke="Black" strokeThickness="6" RadiusX="10" RadiusY="30" />
Slider
<!--
Minimum -Slider控件的最小值。参见基类System.Windows.Controls.Primitives.RangeBase
Maximum -Slider控件的最大值。参见基类System.Windows.Controls.Primitives.RangeBase
Value - Slider控件的值。参见基类System.Windows.Controls.Primitives.RangeBase
SmallChange - 按上/下/左/右键的时候,Slider控件的Value值的变化跨度。参见基类System.Windows.Controls.Primitives.RangeBase
ValueChanged -Slider控件的值发生变化时所触发的事件
Orientation - 控件的放置方向
Horizontal- 水平放置
Vertical - 垂直放置
IsDirectionReversed - 滑块的初始位置
True - 上到下 或者 右到左
False - 下到上 或者 左到右
-->
<Slider Height="400" HorizontalAlignment="Left" Orientation="Vertical" IsDirectionReversed="True" Minimum="0" Maximum="50" SmallChange="5" ValueChanged="Slider_ValueChanged" />
<TextBlock x:Name="lblMsg" HorizontalAlignment="Left" />
//RoutedPropertyChangedEventArgs<double>.OldValue - Slider控件的原值
//RoutedPropertyChangedEventArgs<double>.NewValue - Slider控件的新值
lblMsg.Text = string.Format("原值:{0}\r\n新值:{1}",e.OldValue.ToString(),e.NewValue.ToString());
Text@R_404_6277@
<!--
Text@R_404_6277@ 结合 Calendar,经典的选择日期的方式
SelectedDateFormat - 被选中的日期的显示格式[System.Windows.Controls.DatePickerFormat枚举]
SelectedDateFormat.Short - 简短格式。默认值。如2008-10-10
SelectedDateFormat.Long - 非简短格式。如2008年10月10日
-->
<basics:DatePicker Width="200" SelectedDateFormat="Short"></basics:DatePicker>
<!--
-->
<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" />
十二、Calendar控件
SelectedDatesChanged - 选中日期后所触发的事件
displayDateStart - 此日期之前的日期不予显示
FirstDayOfWeek- 控件所显示的每星期的第一天为星期几 [System.DayOfWeek枚举]
displayMode - 控件的显示模式[System.Windows.Controls.displayMode枚举]
displayMode.Month - 标题显示年月,内容显示日期。默认值
displayMode.Year - 标题显示年,内容显示月
displayMode.Decade - 标题显示一个十年的区间,内容显示年
IsTodayHighlighted- 是否高亮显示今天的日期
//Calendar.SelectedDate - 选中的日期
//Calendar.SelectedDates - 选中的多个日期集合
//Calendar.BlackoutDates - 不允许选择的日期集合
//Calendar.BlackoutDates.AddDatesInPast() - 禁止选择今天之前的日期
//Calendar.BlackoutDates.Clear() - 清除 不允许选择的日期集合 的设置
//CalendarSelectionMode.None - 禁止选择日期
//CalendarSelectionMode.SingleRange - 可以选择多个日期,连续日期(Shift键配合)
//CalendarSelectionMode.MultipleRange - 可以选择多个日期,任意日期(Ctrl键配合)
//CalendarSelectionMode.SingleDate - 只能选择一个日期
Calendar控件的命名空间和其他控件一样,都是在System.Windows.Controls下。但是其是在System.Windows.Controls.dll程序集中定义的,所以要引入相应的xml命名空间
// Calendar.SelectedDate - 选中的日期 // Calendar.SelectedDates - 选中的多个日期集合
// Calendar.BlackoutDates - 不允许选择的日期集合
// Calendar.BlackoutDates.AddDatesInPast() - 禁止选择今天之前的日期
// Calendar.BlackoutDates.Clear() - 清除 不允许选择的日期集合 的设置
// CalendarSelectionMode.None - 禁止选择日期
// CalendarSelectionMode.SingleRange - 可以选择多个日期,连续日期(Shift键配合)
// CalendarSelectionMode.MultipleRange - 可以选择多个日期,任意日期(Ctrl键配合)
// CalendarSelectionMode.SingleDate - 只能选择一个日期
<!-- Text@R_404_6277@
SelectedDatesChanged - 选中日期后所触发的事件
displayDateStart - 此日期之前的日期不予显示
FirstDayOfWeek - 控件所显示的每星期的第一天为星期几[System.DayOfWeek枚举]
displayMode - 控件的显示模式[System.Windows.Controls.displayMode枚举]
displayMode.Month - 标题显示年月,内容显示日期。默认值
displayMode.Year - 标题显示年,内容显示月
displayMode.Decade - 标题显示一个十年的区间,内容显示年
IsTodayHighlighted - 是否高亮显示今天的日期 --!〉
Canvas - 绝对布局模式
Canvas.Left - 与上一层 Canvas 的 Y轴 间的距离,左上角为原点
Canvas.Top - 与上一层 Canvas 的 X轴 间的距离,左上角为原点
IsChecked - 是否被选中
IsThreeState - 是否是 有3个状态 的Check@R_404_6277@
false - 通常的两状态。默认值
true - 有3个状态,分别为:true,null。也就是说 Check@R_404[email protected] 是 bool? 类型
IsEnabled - Check@R_404_6277@是否有效
Check@R_404[email protected] - Check@R_404_6277@所对应的内容
Checked - 被选中后所触发的事件
Unchecked - 被取消选中后所触发的事件
Click - 被单击后所触发的事件
displayMemberPath - 数据源中需要被显示出来的字段名称
MaxDropDownHeight - 下拉框的最大下拉高度
十三、Button控件
Click - 按钮的单击事件
Cursor - 鼠标移动到按钮上面时,鼠标指针的样式
Arrow - 箭头
Hand - 手形
Wait - 沙漏
IBeam - “I”字形
Stylus - 点
Eraser - 橡皮
None - 无
Padding - 容器内的内容与容器边缘的填充距离(像素值:上下左右;左右,下)
IsEnabled - 按钮是否有效
ClickMode - 触发单击事件的类型[System.Windows.Controls.ClickMode枚举]
ClickMode.Press - 鼠标左键单击
ClickMode.Release - 鼠标左键单击并放开
ClickMode.Hover - 鼠标经过
后台获值:((System.Windows.Controls.Button)sender).Tag.ToString()
十四、Check@R_404_6277@控件
IsChecked - 是否被选中
IsThreeState - 是否是 有3个状态的Check@R_404_6277@
false - 通常的两状态。默认值
true - 有3个状态,分别为:true,null。也就是说 Check@R_404[email protected] 是 bool? 类型
IsEnabled -Check@R_404_6277@是否有效
Check@R_404[email protected] - Check@R_404_6277@所对应的内容
Checked - 被选中后所触发的事件
Unchecked - 被取消选中后所触发的事件
Click - 被单击后所触发的事件
HtmlWindowhtml = HtmlPage.Window;
html.Alert(string.Format("chk1:{0}\r\nchk2: {1}\r\nchk3: {2}\r\nchk4: {3}",
chk1.IsChecked,chk2.IsChecked,chk3.IsChecked,chk4.IsChecked));
十五、Combo@R_404_6277@控件
<!--
XAML方式构造Combo@R_404_6277@
-->
<Combo@R_404_6277@ x:Name="cbo" Width="200" Margin="5">
<Combo@R_404_6277@Item Tag="Combo@R_404_6277@Item1" Content="Combo@R_404_6277@Item1"/>
<Combo@R_404_6277@Item Tag="Combo@R_404_6277@Item2" Content="Combo@R_404_6277@Item2"/>
<Combo@R_404_6277@Item Tag="Combo@R_404_6277@Item3" Content="Combo@R_404_6277@Item3"/>
</Combo@R_404_6277@>
<!--
displayMemberPath - 数据源中需要被显示出来的字段名称
MaxDropDownHeight - 下拉框的最大下拉高度
-->
<Combo@R_404_6277@ x:Name="cbo2" displayMemberPath="Name" MaxDropDownHeight="100" Width="200" Margin="5" />
后台绑定: void BindData()
{ var source= new Data.SourceData();
//设置 Combo@R_404_6277@ 的数据源
cbo2.ItemsSource =source.GetData().Take(10);
}
后台获值: (cbo.SelectedItem as Combo@R_404_6277@Item).Tag.ToString() // (cbo.SelectedItemas Combo@R_404_6277@Item).Content.ToString()
//若Combo@R_404_6277@未命名,则使用 (((Combo@R_404_6277@)sender).SelectedItemas Combo@R_404_6277@Item).Tag.ToString()
注明SourceData.cs:
using System.Collections.ObjectModel;
namespace Silverlight20.Data
{
publicclass SourceData
{
// ObservableCollection<T> 内置实现了INotifyCollectionChanged 接口(可直接应用于 OneWay 和 TwoWay 的绑定模式)
publicObservableCollection<SourceDataModel> GetData()
{
varsource = new ObservableCollection<SourceDataModel>();
for(int i = 0; i < 100; i++)
{
source.Add(
new SourceDataModel
{
Name = "Name" + i.ToString().PadLeft(4,'0'),
Age = new Random(i).Next(20,60),
DayOfBirth =DateTime.Now,
Male = Convert.ToBoolean(i % 2)
});
}
returnsource;
}
}
}
GridSplitter
1、HorizontalAlignment、VerticalAligment、RezizeDirection是GridSplitter三个重要属性。
2、默认情况下,ResizeDirection的值为GridResizeDirecion.Atuo,这时,只要把VerticalAligment改为Stretch,GridSplitter就变成了垂直的。在这种情况下,如果HorizontalAlignment为Left,Splitter将会改变Splitter所在的列以及Splitter左边的列两者之间的宽度分配,如果HorizontalAlignment为Rgitht,Splitter将会改变Splitter所在的列以及Splitter右边的列两者之间的宽度分配,如果HorzontalAlignment为Center,现在移动Splitter不会改变它所在的列的宽度,而是影响Splitter两边列的宽度;如果把HorizontalAlignment改为Stretch,这是GridSplitter就变成了水平的。水平的GridSplitter改变的是高度,规则和改变宽度的一样。
3、当ResizeDirection设置为非Auto的值后,可以改变上述规则。如果设置值为Columns,表示在列之间分配空间,如果设置为Rows表示在行之间分配空间。
4、推荐不要把GridSplitter放在已有Element的格子里面,让整个GridSplitter放在单独的格子里面,以专注分割。
<Rectangle Grid.Row="0" Grid.Column="0" Fill="Red"/>
<Rectangle Grid.Row="0" Grid.Column="2" Fill="Green" />
<Rectangle Grid.Row="2" Grid.Column="0" Fill="Blue" />
<Rectangle Grid.Row="2" Grid.Column="2" Fill="Yellow"/>
<!--
HorizontalAlignment属性用来指定文本水平方向的对齐方式.
ShowsPreview - 拖动GridSplitter 时,是要即时显示拖动结果(false 默认值),还是要先预览GridSplitter被拖动的位置(true)
-->
<basics:GridSplitter Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" ShowsPreview="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
<basics:GridSplitter Grid.Row="0" Grid.Column="1" Grid.RowSpan="3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
GridSplitter
NavigateUri - 超级链接的目标地址
TargetName - 目标名
GridSplitter.Content - 超级链接所显示的内容
List@R_404_6277@
<!--
SelectionChanged - List@R_404_6277@中某个对象被选中后所触发的事件
-->
<List@R_404_6277@ Margin="5" Width="200" Height="100" SelectionChanged= "List@R_404_6277@_SelectionChanged">
<List@R_404_6277@Item Content="List@R_404_6277@Item01"/>
<List@R_404_6277@Item Content="List@R_404_6277@Item02"/>
<List@R_404_6277@Item Content="List@R_404_6277@Item03"/>
</List@R_404_6277@>
<!--
List@R_404_6277@中可以包含任何对象
-->
<List@R_404_6277@ Margin="5" Width="200">
<TextBlock Text="TextBlock" />
<Text@R_404_6277@ Text="Text@R_404_6277@" />
<Button Content="Button" />
</List@R_404_6277@>
另:
<!--
List@R_404[email protected] - List@R_404_6277@ 的选项模板
DataTemplate - 手工定义 List@R_404_6277@ 的选项数据
-->
<List@R_404_6277@ x:Name="List@R_404_6277@1" Margin="5" Width="200" Height="100">
<List@R_404[email protected]>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" Margin="5" />
<TextBlock Text="{Binding Age}" Margin="5" />
</StackPanel>
</DataTemplate>
</List@R_404[email protected]>
</List@R_404_6277@>
//List@R_404[email protected] - List@R_404_6277@中被选中的对象
var lst =sender as System.Windows.Controls.List@R_404_6277@;
Message@R_404_6277@.Show(
((System.Windows.Controls.List@R_404_6277@Item)lst.SelectedItem).Content+ " 被单击了", "提示", Message@R_404_6277@Button.OK);
MediaElement控件
Source - 视频路径
后台:
// MediaElement.Play() - 播放视频
// MediaElement.Pause() - 暂停视频
// MediaElement.Stop() - 停止视频
// MediaElement.IsMuted - 是否静音
// MediaElement.Volume - 声音大小(0 - 1)
StackPanel控件
<!--
Selectedindex -被选中的TabItem 索引
SelectedItem - 被选中的TabItem 对象
-->
<basics:TabControl Width="400" Height="400" Selectedindex="1">
<basics:TabItem Header="Tab1">
<TextBlock Text="Tab1 Content"/>
</basics:TabItem>
<!--
TabItem.Header - TabItem 的标题
TabItem.Content - TabItem 的内容
-->
<basics:TabItem>
<basics:TabItem.Header>
<TextBlock Text="Tab2"/>
</basics:TabItem.Header>
<basics:TabItem.Content>
<TextBlock Text="Tab2 Content"/>
</basics:TabItem.Content>
</basics:TabItem>
<basics:TabItem>
<basics:TabItem.Header>
<Image Source="/Silverlight20;component/Images/logo.jpg" Height="20" />
</basics:TabItem.Header>
<TextBlock Text="Tab3Content"></TextBlock>
</basics:TabItem>
<basics:TabItem>
<basics:TabItem.Header>
<Grid Width="100">
<Image Source="/Silverlight20;component/Images/logo.jpg" Height="20" HorizontalAlignment="Center" />
<TextBlock Text="Tab4" HorizontalAlignment="Center" />
</Grid>
</basics:TabItem.Header>
<TextBlock Text="Tab4Content"></TextBlock>
</basics:TabItem>
</basics:TabControl>
ProgressBar
<!--
Minimum -ProgressBar控件的最小值。参见基类System.Windows.Controls.Primitives.RangeBase
Maximum -ProgressBar控件的最大值。参见基类System.Windows.Controls.Primitives.RangeBase
Value -ProgressBar控件的值。参见基类System.Windows.Controls.Primitives.RangeBase
ValueChanged -ProgressBar控件的值发生变化时所触发的事件
-->
<ProgressBar x:Name="progressBar" Width="200" Height="20" Minimum="10" Maximum="70"></ProgressBar>
<!--
IsIndeterminate - 是否无法确定当前的进度值
false - 可以确定当前的进度值
true - 无法确定当前的进度值。一个Loading动画
-->
<ProgressBar Width="200" Height="20" IsIndeterminate="True" Margin="5"></ProgressBar>
RadioButton
<!--
GroupName - RadioButton控件所属组的组名
Checked - 被选中后所触发的事件
Click - 被单击后所触发的事件
-->
<RadioButton GroupName="groupName" Content="红色的RadioButton" Background="Red" Margin="5" />
<!--
IsEnabled -RadioButton是否有效
-->
<RadioButton GroupName="groupName" Content="无效的RadioButton" IsEnabled="False" Margin="5" />
<!--
IsChecked - 是否被选中
RadioButton.Content - RadioButton所对应的内容
-->
<RadioButton GroupName="groupName" Margin="5" IsChecked="true">
<RadioButton.Content>
<Image Source="/Silverlight20;component/Images/logo.jpg" Width="200" />
</RadioButton.Content>
</RadioButton>
Text@R_404_6277@
<!--
BorderThickness- 边框的宽度(像素值:上下左右;左右,下)
BorderBrush - 边框的颜色
-->
<Text@R_404_6277@ Text="红色框绿色底蓝色字(真难看)" BorderBrush="Red" BorderThickness="1,5" Background="Green" Foreground="Blue" Margin="6" />
<!--
IsReadOnly - 是否只读
-->
<Text@R_404_6277@ Text="只读Text@R_404_6277@" IsReadOnly="True" Margin="6" />
<!--
AcceptsReturn -是否允许输入回车
HorizontalScrollBarVisibility - 水平滚动条的显示状态
VerticalScrollBarVisibility - 垂直滚动条的显示状态
Auto - 自动根据Text@R_404_6277@控件的宽和高,以及其内容的宽和高,来决定是否显示滚动条
disabled - 不显示,但是可以通过键盘或鼠标在显示内容中的移动或拖动操作,来看到被遮挡的内容
Visible - 显示滚动条
-->
<Text@R_404_6277@ Height="50" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" Margin="6"
Text="多行文本框1
多行文本框2
多行文本框3
多行文本框4
多行文本框5
多行文本框6" />
<!--
SelectionChanged - 选中的文本内容发生变化时所触发的事件
-->
<Text@R_404_6277@ Height="50" AcceptsReturn="False" Margin="5" SelectionChanged="Text@R_404_6277@_SelectionChanged"
Text="相应选中事件
多行文本框1
多行文本框2
多行文本框3" />
<TextBlock Margin="5">
<Run>选中的文本为:</Run>
<LineBreak />
<Run x:Name="lblMsg"></Run>
</TextBlock>
后台获值: lblMsg.Text = ((System.Windows.Controls.Text@R_404_6277@)sender).SelectedText;
Ellipse
<!--椭圆-->
<!--
Width - 椭圆的宽
Height - 椭圆的高
stroke - 边框
Fill - 填充
-->
<Ellipse stroke="Red" Fill="Yellow" strokeThickness="6" Width="100" Height="50"></Ellipse>
Line
<!--线-->
<!--
X1 - 起点的 X 坐标
Y1 - 起点的 Y 坐标
X2 - 终点的 X 坐标
Y2 - 终点的 Y 坐标
注:
Line无填充,也就是Line的Fill属性无效
坐标以左上角为原点,原点右侧/下侧为正方向
-->
<Line X1="0" Y1="100" X2="200" Y2="300" stroke="Black" strokeThickness="6" />
二十六、Polyline控件
<!--非闭合图形,一串连接起来的线,起点与终点不会自动相连-->
<!--
Points - 构造路径所使用的点
空格分隔点坐标,逗号分隔X轴和Y轴坐标
-->
<polyline Points="0,0 100,0 300,100 200,100100,200" stroke="Red" strokeThickness="6" Fill="Yellow" />(在silverlight5中没有这个控件)
DataGrid
<!--
AutoGenerateColumns - 是否根据数据源自动生成列。默认值为 true
RowDetailsVisibilityMode - 显示相应的行的详细数据时所使用的显示模式[System.Windows.Controls.DataGridRowDetailsVisibilityMode枚举]
DataGridRowDetailsVisibilityMode.Collapsed - 总不显示
DataGridRowDetailsVisibilityMode.Visible- 总是显示
DataGridRowDetailsVisibilityMode.VisibleWhenSelected - 只显示选中行的详细数据。默认值
-->
<data:DataGrid x:Name="DataGrid1" Margin="5"
Width="400" Height="200"
AutoGenerateColumns="False"
>
<!--
DataGrid.Columns - 手工定义DataGrid的列
DataGridTextColumn - 该列的单元格内文本方式显示
DataGridCheck@R_404_6277@Column - 该列的单元格以复选框方式显示
DataGridTemplateColumn - 该列的单元格以自定义方式显示
DataGridTemplateColumn.CellTemplate - 显示模式下的单元格模板
DataGridTemplateColumn.CellEditingTemplate - 编辑模式下的单元格模板
-->
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="姓名" Binding="{Binding Name}" />
<data:DataGridTextColumn Header="生日" Binding="{Binding DayOfBirth}" />
<data:DataGridTextColumn Header="年龄" Binding="{Binding Age}" />
<data:DataGridCheck@R_404_6277@Column Header="性别" Binding="{Binding Male}" />
<data:DataGridTemplateColumn Header="生日">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Rectangle Fill="Red" Margin="2" />
<TextBlock Text="{Binding DayOfBirth}" Foreground="Yellow" />
</Grid>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
<data:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<basics:DatePicker SelectedDate="{Binding DayOfBirth, Mode=TwoWay}" />
</DataTemplate>
</data:DataGridTemplateColumn.CellEditingTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
<!--
DataGrid.RowDetailstemplate - 用于显示相应的行的详细数据的模板
-->
<data:DataGrid.RowDetailstemplate>
<DataTemplate>
<StackPanel Margin="5" Background="Aqua" Height="100">
<TextBlock Text="{Binding Name}" Margin="5" />
<TextBlock Text="{Binding Age}" Margin="5" />
<TextBlock Text="{Binding DayOfBirth}" Margin="5" />
</StackPanel>
</DataTemplate>
</data:DataGrid.RowDetailstemplate>
</data:DataGrid>
<!--
GridLinesVisibility - 表格分隔线的显示方式[System.Windows.Controls.DataGridGridLinesVisibility枚举]
DataGridGridLinesVisibility.None - 都不显示
DataGridGridLinesVisibility.Horizontal - 只显示水平分隔线
DataGridGridLinesVisibility.Vertical - 只显示垂直分隔线。默认值
DataGridGridLinesVisibility.All - 显示水平和垂直分隔线
RowBackground -奇数数据行背景
AlternatingRowBackground - 偶数数据行背景
-->
<data:DataGrid x:Name="DataGrid1" Margin="5"
Width="400" Height="200"
AutoGenerateColumns="False"
GridLinesVisibility="All"
RowBackground="White"
AlternatingRowBackground="Yellow"
ItemsSource="{Binding}"
>
<data:DataGrid.Columns>
<!--
IsReadOnly - 该列的单元格是否只读
CanUserReorder - 该列是否可以拖动
CanUserResize - 该列是否可以改变列宽
CanUserSort - 该列是否可以排序
SortMemberPath - 该列的排序字段
-->
<data:DataGridTextColumn Header="姓名" Binding="{Binding Name}"
IsReadOnly="False"
CanUserReorder="True"
CanUserResize="True"
CanUserSort="True"
SortMemberPath="Name"
/>
<!--
Width -列宽
Auto - 根据列头内容的宽度和单元格内容的宽度自动设置列宽
Pixel - 像素值
-->
<data:DataGridTextColumn Header="生日" Binding="{Binding DayOfBirth}" Width="100" />
<data:DataGridTextColumn Header="年龄" Binding="{Binding Age}" />
<data:DataGridCheck@R_404_6277@Column Header="性别" Binding="{Binding Male}" />
<data:DataGridTextColumn Header="姓名" Binding="{Binding Name}" />
<data:DataGridTextColumn Header="生日" Binding="{Binding DayOfBirth}" />
<data:DataGridTextColumn Header="年龄" Binding="{Binding Age}" />
<data:DataGridCheck@R_404_6277@Column Header="性别" Binding="{Binding Male}" />
</data:DataGrid.Columns>
</data:DataGrid>
//AreRowDetailsFrozen - 是否冻结 RowDetailstemplate 。 默认值为 false
// 如果等于 true ,那么在DataGrid 的水平滚动条滚动的时候 RowDetailstemplate 不会跟着滚动
//IsReadOnly - 单元格是否只读。默认值 false
//FrozenColumnCount - 表格所冻结的列的总数(从左边开始数)。默认值 0
//SelectionMode - 行的选中模式[System.Windows.Controls.DataGridSelectionMode枚举]
// DataGridSelectionMode.Single - 只能单选
// DataGridSelectionMode.Extended - 可以多选(通过Ctrl或Shift的配合)。默认值
//CanUserReorderColumns - 是否允许拖动列。默认值 true
//CanUserResizeColumns - 是否允许改变列的宽度。默认值 true
//CanUserSortColumns - 是否允许列的排序。默认值 true
//VerticalGridLinesBrush - 改变表格的垂直分隔线的 Brush
//HorizontalGridLinesBrush - 改变表格的水平分隔线的 Brush
//HeadersVisibility - 表头(包括列头和行头)的显示方式[System.Windows.Controls.DataGridHeadersVisibility枚举]
// DataGridHeadersVisibility.All - 列头和行头均显示
// DataGridHeadersVisibility.Column - 只显示列头。默认值
// DataGridHeadersVisibility.Row - 只显示行头
// DataGridHeadersVisibility.None - 列头和行头均不显示
privatevoid chkCustomGridLineVertical_Changed(object sender,RoutedEventArgse)
{
Check@R_404_6277@chk = sender as Check@R_404_6277@;
if(DataGrid1 != null)
{
//VerticalGridLinesBrush - 改变表格的垂直分隔线的 Brush
if (chk.IsChecked == true)
DataGrid1.VerticalGridLinesBrush = new SolidColorBrush(Colors.Blue);
else
DataGrid1.VerticalGridLinesBrush = new SolidColorBrush(Color.FromArgb(255,223,227,230));
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。