﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-常言笑的家-随笔分类-SilverLight</title><link>http://www.blogjava.net/wealupa/category/48133.html</link><description>Spring, Hibernate, Struts, Ajax, RoR</description><language>zh-cn</language><lastBuildDate>Tue, 26 Apr 2011 09:32:24 GMT</lastBuildDate><pubDate>Tue, 26 Apr 2011 09:32:24 GMT</pubDate><ttl>60</ttl><item><title>Silverlight 3.0 消息框和提示控件</title><link>http://www.blogjava.net/wealupa/archive/2011/04/26/349056.html</link><dc:creator>常言笑</dc:creator><author>常言笑</author><pubDate>Tue, 26 Apr 2011 09:12:00 GMT</pubDate><guid>http://www.blogjava.net/wealupa/archive/2011/04/26/349056.html</guid><wfw:comment>http://www.blogjava.net/wealupa/comments/349056.html</wfw:comment><comments>http://www.blogjava.net/wealupa/archive/2011/04/26/349056.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wealupa/comments/commentRss/349056.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wealupa/services/trackbacks/349056.html</trackback:ping><description><![CDATA[<strong>1. ToolTipToolTip&nbsp;<br />
<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;控件用于显示页面元素的附加解释信息.就像 html 中的某些元素的alt属性
<p>&nbsp;&nbsp;&nbsp;&nbsp;示例代码如下:ToolTip 控件 示例:<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">Grid&nbsp;</span><span style="color: #ff0000">x:Name</span><span style="color: #0000ff">="LayoutRoot"</span><span style="color: #ff0000">&nbsp;HorizontalAlignment</span><span style="color: #0000ff">="Left"</span><span style="color: #ff0000">&nbsp;VerticalAlignment</span><span style="color: #0000ff">="Center"</span><span style="color: #ff0000">&nbsp;Margin</span><span style="color: #0000ff">="20,0,20,0"</span><span style="color: #ff0000">&nbsp;Width</span><span style="color: #0000ff">="300"</span><span style="color: #ff0000">&nbsp;Height</span><span style="color: #0000ff">="180"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Grid</span><span style="color: #ff0000">.RowDefinitions</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">RowDefinition&nbsp;</span><span style="color: #ff0000">MinHeight</span><span style="color: #0000ff">="30"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">RowDefinition</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">RowDefinition&nbsp;</span><span style="color: #ff0000">MinHeight</span><span style="color: #0000ff">="30"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">RowDefinition</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">RowDefinition&nbsp;</span><span style="color: #ff0000">MinHeight</span><span style="color: #0000ff">="30"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">RowDefinition</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">RowDefinition&nbsp;</span><span style="color: #ff0000">MinHeight</span><span style="color: #0000ff">="30"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">RowDefinition</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Grid.RowDefinitions</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Grid</span><span style="color: #ff0000">.ColumnDefinitions</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">ColumnDefinition</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">ColumnDefinition</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">ColumnDefinition</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">ColumnDefinition</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Grid.ColumnDefinitions</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">TextBlock&nbsp;</span><span style="color: #ff0000">Height</span><span style="color: #0000ff">="14"</span><span style="color: #ff0000">&nbsp;Grid.Row</span><span style="color: #0000ff">="0"</span><span style="color: #ff0000">&nbsp;Grid.Column</span><span style="color: #0000ff">="0"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">用户名:</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">TextBlock</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">TextBlock&nbsp;</span><span style="color: #ff0000">Height</span><span style="color: #0000ff">="14"</span><span style="color: #ff0000">&nbsp;Grid.Row</span><span style="color: #0000ff">="1"</span><span style="color: #ff0000">&nbsp;Grid.Column</span><span style="color: #0000ff">="0"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">用户密码:</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">TextBlock</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">TextBlock&nbsp;</span><span style="color: #ff0000">Height</span><span style="color: #0000ff">="14"</span><span style="color: #ff0000">&nbsp;Grid.Row</span><span style="color: #0000ff">="3"</span><span style="color: #ff0000">&nbsp;Grid.Column</span><span style="color: #0000ff">="0"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">密匙:</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">TextBlock</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">TextBox&nbsp;</span><span style="color: #ff0000">Width</span><span style="color: #0000ff">="120"</span><span style="color: #ff0000">&nbsp;Height</span><span style="color: #0000ff">="24"</span><span style="color: #ff0000">&nbsp;Grid.Row</span><span style="color: #0000ff">="0"</span><span style="color: #ff0000">&nbsp;Grid.Column</span><span style="color: #0000ff">="1"</span><span style="color: #ff0000">&nbsp;ToolTipService.ToolTip</span><span style="color: #0000ff">="注意区分大小写"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">TextBox</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">PasswordBox&nbsp;</span><span style="color: #ff0000">Width</span><span style="color: #0000ff">="120"</span><span style="color: #ff0000">&nbsp;Height</span><span style="color: #0000ff">="24"</span><span style="color: #ff0000">&nbsp;Grid.Row</span><span style="color: #0000ff">="1"</span><span style="color: #ff0000">&nbsp;Grid.Column</span><span style="color: #0000ff">="1"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">PasswordBox</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Button&nbsp;</span><span style="color: #ff0000">Click</span><span style="color: #0000ff">="Button_Click"</span><span style="color: #ff0000">&nbsp;Width</span><span style="color: #0000ff">="120"</span><span style="color: #ff0000">&nbsp;Height</span><span style="color: #0000ff">="24"</span><span style="color: #ff0000">&nbsp;Grid.Row</span><span style="color: #0000ff">="2"</span><span style="color: #ff0000">&nbsp;Grid.Column</span><span style="color: #0000ff">="1"</span><span style="color: #ff0000">&nbsp;Content</span><span style="color: #0000ff">="获取密匙"</span><span style="color: #ff0000">&nbsp;ToolTipService.ToolTip</span><span style="color: #0000ff">="单击按钮将获取有效地开发授权密匙"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Button</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Grid</span><span style="color: #0000ff">&gt;</span></div>
以上是一个获取数据访问密匙的页面片段, 其中红字部分就是 ToolTip 控件的声明和使用, 当然你也可以用下面这种方式为按钮声明 ToolTip 提示控件, 其效果是一样的&lt;Button Click="Button_Click" Width="120" Height="24" Grid.Row="2" Grid.Column="1" Content="获取密匙"&gt;<br />
<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">ToolTipService</span><span style="color: #ff0000">.ToolTip</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">ToolTip&nbsp;</span><span style="color: #ff0000">Content</span><span style="color: #0000ff">="单击按钮将获取有效地开发授权密匙"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">ToolTip</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">ToolTipService.ToolTip</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Button</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
效果图如下:<br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/7b56bdf870d35bb89e5146c7.jpg" width="391" height="219" /><br />
看了以上代码会发现都是从 ToolTipService 这个ToolTip的管理类来获取ToolTip对象, 而ToolTipService 类 还有两个附加项属性: Placement (ToolTip显示位置) 和 PlacementTarget (ToolTip依照该属性指定的元素进行定位) , 当使用代码为大量元素绑定 ToolTip 时很有用<br />
<br />
<strong>2. Popup<br />
<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;Popup 对象的作用是在现有Silverlight内容之上显示Popup.Child属性中指定的内容。继续上例,当点击按钮时为提交过程模拟一个Loading效果, 当然这个Loading你等到天荒地老也不会完成的，该Loading效果的按钮事件代码如下ToolTip 对象<strong>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;示例:<br />
<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Windows.Controls.Primitives;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><img src="http://www.blogjava.net/Images/dot.gif"  alt="" />..<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Button_Click(</span><span style="color: #0000ff">object</span><span style="color: #000000">&nbsp;sender,&nbsp;RoutedEventArgs&nbsp;e)<br />
<img id="Codehighlighter1_112_667_Open_Image" onclick="this.style.display='none'; Codehighlighter1_112_667_Open_Text.style.display='none'; Codehighlighter1_112_667_Closed_Image.style.display='inline'; Codehighlighter1_112_667_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_112_667_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_112_667_Closed_Text.style.display='none'; Codehighlighter1_112_667_Open_Image.style.display='inline'; Codehighlighter1_112_667_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_112_667_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_112_667_Open_Text"><span style="color: #000000">{<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">创建文本</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">TextBlock&nbsp;textblock&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;TextBlock();<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />textblock.Text&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Loading<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />textblock.Width&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">120</span><span style="color: #000000">;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />textblock.Height&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">24</span><span style="color: #000000">;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />textblock.FontSize&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">18</span><span style="color: #000000">;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">创建遮蔽</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">Grid&nbsp;grid&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Grid();<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />SolidColorBrush&nbsp;brushcolor&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SolidColorBrush();<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />brushcolor.Color&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Colors.White;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />grid.Background&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;brushcolor;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />grid.Opacity&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0.8</span><span style="color: #000000">;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />grid.Width&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Application.Current.Host.Content.ActualWidth;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />grid.Height&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Application.Current.Host.Content.ActualWidth;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />grid.Children.Add(textblock);<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">创建Popup</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">Popup&nbsp;p&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Popup();<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">为Popup指定内容</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">p.Child&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;grid;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">显示Popup</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">p.IsOpen&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span></div>
</strong>运行后效果如下:<br />
<br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/3d145e8a5620a7a5a4c272c0.jpg" width="345" height="222" /><br />
<br />
<strong>3. ChildWindow<br />
<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;提供可在父窗口之上显示的一个窗口并且阻止与父窗口的交互, 实际上就是一个增强版的 Popup , 多了一个如上例中Loading那样的遮蔽层,我们将上例中的Loading效果,改为使用 ChildWindow 实现代码如下:ChildWindow 对象<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;示例:<br />
<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Button_Click(</span><span style="color: #0000ff">object</span><span style="color: #000000">&nbsp;sender,&nbsp;RoutedEventArgs&nbsp;e)<br />
<img id="Codehighlighter1_60_315_Open_Image" onclick="this.style.display='none'; Codehighlighter1_60_315_Open_Text.style.display='none'; Codehighlighter1_60_315_Closed_Image.style.display='inline'; Codehighlighter1_60_315_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_60_315_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_60_315_Closed_Text.style.display='none'; Codehighlighter1_60_315_Open_Image.style.display='inline'; Codehighlighter1_60_315_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_60_315_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_60_315_Open_Text"><span style="color: #000000">{<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />SolidColorBrush&nbsp;brushcolor&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SolidColorBrush();<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />brushcolor.Color&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Colors.White;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />ChildWindow&nbsp;cw&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ChildWindow();<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />cw.HasCloseButton&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />cw.FontSize&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">18</span><span style="color: #000000">;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />cw.Opacity&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0.8</span><span style="color: #000000">;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />cw.OverlayBrush&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;brushcolor;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />cw.Content&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Loading<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />cw.Show();<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span></div>
运行后效果如下:<br />
<br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/A0001.jpg" width="342" height="218" /><br />
实际上 ChildWindow 对象 还可以包含一个标题栏和一个关闭按钮, 只不过loading不需要, 我们禁用了而已<br />
<br />
<br />
<strong>4. MessageBox<br />
<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;MessageBox为使用 js 中的模态窗口来显示信息, 还是以上例进行扩展, 比如该功能暂时关闭时,可以如下方式显示:MessageBox 对象<br />
&nbsp;&nbsp;&nbsp;&nbsp;示例<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Button_Click(</span><span style="color: #0000ff">object</span><span style="color: #000000">&nbsp;sender,&nbsp;RoutedEventArgs&nbsp;e)<br />
<img id="Codehighlighter1_60_99_Open_Image" onclick="this.style.display='none'; Codehighlighter1_60_99_Open_Text.style.display='none'; Codehighlighter1_60_99_Closed_Image.style.display='inline'; Codehighlighter1_60_99_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_60_99_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_60_99_Closed_Text.style.display='none'; Codehighlighter1_60_99_Open_Image.style.display='inline'; Codehighlighter1_60_99_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_60_99_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_60_99_Open_Text"><span style="color: #000000">{<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;MessageBox.Show(</span><span style="color: #000000">"</span><span style="color: #000000">该功能暂时关闭,请稍后再试</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span></div>
运行后效果如下:&nbsp;&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/A0002.jpg" width="454" height="289" />
 <img src ="http://www.blogjava.net/wealupa/aggbug/349056.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wealupa/" target="_blank">常言笑</a> 2011-04-26 17:12 <a href="http://www.blogjava.net/wealupa/archive/2011/04/26/349056.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>详解Silverlight 4中RIA Service dataform Template, 代码选择控件及Validate验证的技巧</title><link>http://www.blogjava.net/wealupa/archive/2011/03/27/347112.html</link><dc:creator>常言笑</dc:creator><author>常言笑</author><pubDate>Sun, 27 Mar 2011 11:05:00 GMT</pubDate><guid>http://www.blogjava.net/wealupa/archive/2011/03/27/347112.html</guid><wfw:comment>http://www.blogjava.net/wealupa/comments/347112.html</wfw:comment><comments>http://www.blogjava.net/wealupa/archive/2011/03/27/347112.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/wealupa/comments/commentRss/347112.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wealupa/services/trackbacks/347112.html</trackback:ping><description><![CDATA[<p>本文和大家分享一下Silverlight 4 RIA Service dataform Template, 代码选择控件，Validate验证使用技巧 <br />
功能&nbsp; <br />
定义只读，新增，编辑三块模块 <br />
&nbsp;<br />
定义模板的目的是更好的复用和提高XAML代码的可读性和可维护性，也可以更好的分工合作。下面是一个归并关系的维护界面。&nbsp;<br />
&nbsp;<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/0001.png" width="554" height="335" /><br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/0002.png" width="554" height="335" /><br />
&nbsp;<br />
主要有表头，多个表体组成，为了把所有操作尽量在一个页面中完成，表头使用一个DataForm空间，表体使用DataGrid和DataForm组合实现。 <br />
而DataForm有三种状态分别是只读（显示不可编辑），编辑，新增。因此我们需要为这三种模板来控制每个控件的布局和属性，比如只读状态下空间的IsReadOnly为True,编辑状态下，关键字字段的IsReadOnly为True,其他字段可以编辑，编辑状态使用选择控件方便输入，新增状态下，对于关键字段和必填字段需要用粗体字体显示（默认）或其他形式提醒操作用，这都需要在不同的模板中定于。 <br />
提示：布局使用Data Filed控件系统默认根据DataForm控件的状态改变Data Field编辑状态 <br />
下图是编辑状态下的布局 </p>
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/0003.png" width="553" height="334" /><br />
模板文件 <br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/111.png" width="316" height="565" /><br />
XAML代码 <br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/0004.png" width="553" height="175" /><br />
<br />
<p><strong>自定义代码选择控件，快速输入控件 <br />
</strong>&nbsp;<br />
最常见的单机放大镜弹出所有记录选择后返回页面或是在一个TextBox中输入一个代码（料号）自动带出名称，单位，单价等信息实现快速输入。如果用asp.net需要写需要JavaScript代码，而使用Silverlight则非常容易就能实现。 </p>
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/0005.png" width="553" height="334" /><br />
XAML代码；<br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/0006.png" width="553" height="139" /><br />
<br />
<p>通过把需要带出的字段绑定到自定义控件上。 <br />
Silverlight代码 <br />
属性绑定代码 </p>
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/0007.png" width="554" height="306" /><br />
赋值代码 <br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/0008.png" width="553" height="271" /><br />
<br />
为了提高代码的可读性，推荐使用匿名方法 <br />
类似的简单的CodeValue的选择使用AutoCompleted控件自己小改一下便可实现 <br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/112.png" width="546" height="256" /><br />
<p>下面是实现代码，名称快速转换的实现，显示名称保存代码 <br />
定义一个Converter,和一个代码组的数据源 </p>
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/113.png" width="455" height="285" /><br />
数据源继承一个接口方便转换时使用 <br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/114.png" width="549" height="311" /><br />
<p><strong>字段输入验证（唯一性验证） <br />
</strong>&nbsp;<br />
通过对DomainService生成的metadata class的字段添加属性进行验证。为了更好维护对验证数据的提示信息，可以使用资源文件保存比如，验证支持特定属性和正则表达式，自定义验证 </p>
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/115.png" width="534" height="224" /><br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/116.png" width="553" height="334" /><br />
<br />
代码<br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/117.png" width="554" height="82" /><br />
<p>唯一性验证 <br />
需要对提示用户输入的信息重复了</p>
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/118.png" width="464" height="78" /><br />
代码 <br />
<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/119.png" width="553" height="377" /><br />
<p><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/wealupa/1111.png" width="554" height="181" /><br />
注意：这里需要添加一个编译条件，不然无法编译过去。 </p>
<img src ="http://www.blogjava.net/wealupa/aggbug/347112.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wealupa/" target="_blank">常言笑</a> 2011-03-27 19:05 <a href="http://www.blogjava.net/wealupa/archive/2011/03/27/347112.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Silverlight DataGrid组件具体特点详解</title><link>http://www.blogjava.net/wealupa/archive/2011/03/23/346848.html</link><dc:creator>常言笑</dc:creator><author>常言笑</author><pubDate>Wed, 23 Mar 2011 04:56:00 GMT</pubDate><guid>http://www.blogjava.net/wealupa/archive/2011/03/23/346848.html</guid><wfw:comment>http://www.blogjava.net/wealupa/comments/346848.html</wfw:comment><comments>http://www.blogjava.net/wealupa/archive/2011/03/23/346848.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wealupa/comments/commentRss/346848.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wealupa/services/trackbacks/346848.html</trackback:ping><description><![CDATA[<p><br />
<strong>说明</strong>：Silverlight DataGrid组件是Silverlight数据组件中最为常用并且是功能最为强大的数据组件。因此，对开发者而言，深入了解其特性是十分有必要的。本文先介绍该组件的基本特性，接着通过几个简单实例来说明该组件的基本数据操作过程。</p>
<p><br />
<strong>Silverlight DataGrid组件所在命名空间</strong>：</p>
<p>System.Windows.Controls</p>
<p><br />
<strong>Silverlight DataGrid组件常用方法：</strong></p>
<p>BeginEdit：使DataGrid进入编辑状态。</p>
<p>CancelEdit：取消DataGrid的编辑状态。</p>
<p>CollapseRowGroup：闭合DataGrid的行分组。</p>
<p>CommitEdit：确认DataGrid的编辑完成。</p>
<p>ExpandRowGroup：展开DataGrid的行分组。</p>
<p>GetGroupFromItem：从具体Item中得到分组。</p>
<p>ScrollIntoView：滚动DataGrid视图。</p>
<p><br />
<strong>Silverlight DataGrid组件常用属性：</strong></p>
<p>AlternatingRowBackground：获取或设置一个笔刷用来描绘DataGrid奇数行的背景。</p>
<p>AreRowDetailsFrozen：获取或设置一个值用来判断是否冻结每行内容的详细信息。</p>
<p>AreRowGroupHeadersFrozen：获取或设置一个值用来判断是否冻结分组行的头部。</p>
<p>AutoGenerateColumns：获取或设置一个值用来判断是否允许自动生成表列。</p>
<p>CanUserReorderColumns：获取或设置一个值用来判断是否允许用户重新排列表列的位置。</p>
<p>CanUserSortColumns：获取或设置一个值用来判断是否允许用户按列对表中内容进行排序。</p>
<p>CellStyle：获取或设置单元格的样式。</p>
<p>ColumnHeaderHeight：获取或设置列头的高度。</p>
<p>ColumnHeaderStyle：获取或设置列头的样式。</p>
<p>Columns：获取组件中包含所有列的集合。</p>
<p>ColumnWidth：获取或设置列宽。</p>
<p>CurrentColumn：获取或设置包含当前单元格的列。</p>
<p>CurrentItem：获取包含当前单元格且与行绑定的数据项。</p>
<p>DragIndicatorStyle：获取或设置当拖曳列头时的样式。</p>
<p>DropLocationIndicatorStyle：获取或设置呈现列头时的样式。</p>
<p>FrozenColumnCount：获取或设置冻结列的个数。</p>
<p>GridLinesVisibility：获取或设置网格线的显示形式。</p>
<p>HeadersVisibility：获取或设置行头及列头的显示形式。</p>
<p>HorizontalGridLinesBrush：获取或设置水平网格线的笔刷。</p>
<p>HorizontalScrollBarVisibility：获取或设置水平滚动条的显示样式。</p>
<p>IsReadOnly：获取或设置DataGrid是否为只读。</p>
<p>MaxColumnWidth：获取或设置DataGrid的最大列宽。</p>
<p>MinColumnWidth：获取或设置DataGrid的最小列宽。</p>
<p>RowBackground：获取或设置用于填充行背景的笔刷。</p>
<p>RowDetailsTemplate：获取或设置被用于显示行详细部分的内容的模板。</p>
<p>RowDetailsVisibilityMode：获取或设置一个值用以判定行详细部分是否显示。</p>
<p>RowGroupHeaderStyles：获取呈现行分组头部的样式。</p>
<p>RowHeaderStyle：获取或设置呈现行头的样式。</p>
<p>RowHeaderWidth：获取或设置行头的宽度。</p>
<p>RowHeight：获取或设置每行的高度。</p>
<p>RowStyle：获取或设置呈现行时的样式。</p>
<p>SelectedIndex：获取或设置当前选中部分的索引值。</p>
<p>SelectedItem：获取或设置与当前被选中行绑定的数据项。</p>
<p>SelectedItems：获取与当前被选中的各行绑定的数据项们的列表（List）。</p>
<p>SelectionMode：获取或设置DataGrid的选取模式。</p>
<p>VerticalGridLinesBrush：获取或设置垂直网格线的笔刷。</p>
<p>VerticalScrollBarVisibility：获取或设置垂直滚动条的显示样式。</p>
<p><br />
<strong>Silverlight DataGrid组件常用事件：</strong></p>
<p>BeginningEdit：发生于一个单元格或行进入编辑模式之前。</p>
<p>CellEditEnded：发生于一个单元格编辑已被确认或取消。</p>
<p>CellEditEnding：发生于一个单元格正在结束编辑时。</p>
<p>CurrentCellChanged：发生于一个单元格成为当前单元格时。</p>
<p>PreparingCellForEdit：发生于在DataGridTemplateColumn下的单元格进入编辑模式时。</p>
<p>SelectionChanged：发生于当SelectedItem或SelectedItems属性值改变时。<br />
</p>
<img src ="http://www.blogjava.net/wealupa/aggbug/346848.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wealupa/" target="_blank">常言笑</a> 2011-03-23 12:56 <a href="http://www.blogjava.net/wealupa/archive/2011/03/23/346848.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有关DataForm组件的研究</title><link>http://www.blogjava.net/wealupa/archive/2011/03/23/346846.html</link><dc:creator>常言笑</dc:creator><author>常言笑</author><pubDate>Wed, 23 Mar 2011 04:38:00 GMT</pubDate><guid>http://www.blogjava.net/wealupa/archive/2011/03/23/346846.html</guid><wfw:comment>http://www.blogjava.net/wealupa/comments/346846.html</wfw:comment><comments>http://www.blogjava.net/wealupa/archive/2011/03/23/346846.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wealupa/comments/commentRss/346846.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wealupa/services/trackbacks/346846.html</trackback:ping><description><![CDATA[<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><span style="mso-bidi-font-size: 10.5pt">DataForm</span><span style="mso-bidi-font-size: 10.5pt">组件在开发中，往往用于单个数据项的添加、更新、删除的操作。本文将为大家介绍<span>DataForm</span>组件的基础应用知识以及通过<span>Linq to SQL+Silverlight-enabled WCF Web Service</span>进行与数据库的批量CURD交互。</span><span style="mso-bidi-font-size: 10.5pt">组件所在命名空间：</span><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">System.Windows.Controls</span></strong></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><span style="mso-bidi-font-size: 10.5pt">组件的常用属性：</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">AutoCommit</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置一个值来表示当当前项被改变时已被编辑的数据项是否被提交。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">AutoEdit</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置一个值来表示<span>DataForm</span>是否应当被永久置于编辑模式。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">AutoGenerateFields</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置一个值来表示<span>DataForm</span>是否自动生成数据域集合。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">CancelButtonContent</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置取消按钮的内容。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">CancelButtonStyle</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置取消按钮的样式。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">CommandButtonsVisibility</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置一个值用来表示在<span>DataForm</span>面板上的命令按钮是否可见。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">CommitButtonContent</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置提交按钮的内容。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">CommitButtonStyle</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置提交按钮的样式。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">CurrentIndex</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置当前项的索引值。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">DataFieldStyle</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置数据域的具体样式。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">DescriptionViewerPosition</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置一个值用来表示与当前数据域相关的描述内容的位置。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">EditTemplate</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置当<span>DataForm</span>处于编辑模式时的编辑模板。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">Header</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置<span>DataForm</span>的头部。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">HeaderTemplate</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置<span>DataForm</span>的头部的头模板。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">HeaderVisibility</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置一个值用来表示<span>DataForm</span>的头部是否可见。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">IsEmpty</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取一个值用来表示该控件是否能显示一个数据项。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">IsItemChanged</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取一个值用来表示当前数据项是否被更改。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">IsItemValid</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取一个值用来表示当前数据项是否被有效。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">IsReadOnly</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取一个值用来表示<span>DataForm</span>组件是否处于只读状态。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">LabelPosition</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置一个值用来表示与当前数据域相关的标签的位置。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">Mode</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取一个值用来表示<span>DataForm</span>组件是否处于只读、编辑或新增项目状态。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">NewItemTemplate</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置一个项模板当添加新数据项时。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">ReadOnlyTemplate</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置一个项模板当<span>DataForm</span>组件处于只读状态时。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">ValidationSummary</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取验证结果汇总。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">ValidationSummaryStyle</span></strong><span style="mso-bidi-font-size: 10.5pt">：获取或设置验证结果汇总的具体样式。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><span style="mso-bidi-font-size: 10.5pt">组件的常用方法：</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">AddNewItem</span></strong><span style="mso-bidi-font-size: 10.5pt">：添加一个新数据项。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">BeginEdit</span></strong><span style="mso-bidi-font-size: 10.5pt">：开始当前项的编辑模式。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">CancelEdit</span></strong><span style="mso-bidi-font-size: 10.5pt">：取消当前项的编辑模式。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">CommitEdit</span></strong><span style="mso-bidi-font-size: 10.5pt">：提交更改。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">DeleteItem</span></strong><span style="mso-bidi-font-size: 10.5pt">：删除当前项。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">FindNameInContent</span></strong><span style="mso-bidi-font-size: 10.5pt">：在<span>DataForm</span>中寻找一个指定名称的对象。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">ValidateItem</span></strong><span style="mso-bidi-font-size: 10.5pt">：验证当前项是否有效。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><span style="mso-bidi-font-size: 10.5pt">组件常用事件：</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">AddingNewItem</span></strong><span style="mso-bidi-font-size: 10.5pt">：当添加新数据项时发生。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">AutoGeneratingField</span></strong><span style="mso-bidi-font-size: 10.5pt">：当一个数据域自动生成时发生。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">BeginningEdit</span></strong><span style="mso-bidi-font-size: 10.5pt">：编辑启动时发生，当<span>AutoEdit</span>属性为<span>true</span>时，该状态不能被取消。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">ContentLoaded</span></strong><span style="mso-bidi-font-size: 10.5pt">：当<span>DataForm</span>的内容加载完毕时发生。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">ContentLoading</span></strong><span style="mso-bidi-font-size: 10.5pt">：当<span>DataForm</span>的内容快要加载完毕时发生。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">CurrentItemChanged</span></strong><span style="mso-bidi-font-size: 10.5pt">：在当前项改变时发生。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">DeletingItem</span></strong><span style="mso-bidi-font-size: 10.5pt">：当一个数据项正在被删除时发生。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">EditEnded</span></strong><span style="mso-bidi-font-size: 10.5pt">：在一个数据项编辑结束时发生。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">EditEnding</span></strong><span style="mso-bidi-font-size: 10.5pt">：在一个数据项编辑正在结束时发生。</span></p>
<p style="margin: 0cm 0cm 0pt" class="MsoNormal"><strong style="mso-bidi-font-weight: normal"><span style="mso-bidi-font-size: 10.5pt">ValidatingItem</span></strong><span style="mso-bidi-font-size: 10.5pt">：在一个数据项正在被验证时发生。</span></p>
 <img src ="http://www.blogjava.net/wealupa/aggbug/346846.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wealupa/" target="_blank">常言笑</a> 2011-03-23 12:38 <a href="http://www.blogjava.net/wealupa/archive/2011/03/23/346846.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>