Welcome

首页 / 软件开发 / Silverlight / 稳扎稳打Silverlight(34) - 3.0控件之Frame,Page,Label,DescriptionViewer,Va

稳扎稳打Silverlight(34) - 3.0控件之Frame,Page,Label,DescriptionViewer,Va2010-05-10 博客园 webabcd返回“”

稳扎稳打Silverlight(34) - 3.0控件之Frame,Page,Label,DescriptionViewer,ValidationSummary

介绍

Silverlight 3.0 控件一览:

Frame - 与 Page 控件结合使用,从而实现导航功能(可以由此实现 Deep Linking)

Page - 与 Frame 控件结合使用

Label - 比 TextBlock 功能多一些,可以用来对错误的验证信息做提示

DescriptionViewer - 鼠标经过时的提示信息

ValidationSummary - 汇总显示验证错误的信息

在线DEMO

http://www.cnblogs.com/webabcd/archive/2009/08/04/1538238.html

示例

1、Frame 控件的使用演示。其可以导航 Page,可以做url映射

Frame.xaml

<navigation:Page x:Class="Silverlight30.Control.Frame"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
xmlns:uriMapper="clr-namespace:System.Windows.Navigation;assembly=System.Windows.Controls.Navigation"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignWidth="640" d:DesignHeight="480"
Title="Frame Page">
<Grid x:Name="LayoutRoot">

<StackPanel HorizontalAlignment="Left">
<Border BorderBrush="Gray" BorderThickness="3" Padding="10">

<!--
Frame - 与 Page 控件结合使用,从而实现导航功能(可以由此实现 Deep Linking)
Source - 需要在 Frame 中显示的 Page 的地址
JournalOwnership - 导航日志的记录方式 [System.Windows.Navigation.JournalOwnership 枚举]
Automatic - 如果 Frame 是最顶级的 Frame,则在浏览器端记录导航日志,否则由此 Frame 自行记录
OwnsJournal - 自行记录
UsesParentJournal - 当 Frame 是最顶级的 Frame 时,由浏览器记录。如果是非顶级 Frame 的话,则会抛出异常
UriMapper - Uri 映射器。可以在其内编辑映射规则
UriMapping - 具体的映射规则(在 System.Windows.Navigation 命名空间下)
如本例就是把类似 Silverlight30TestPage.aspx#/Control/PageDemo 的地址映射到类似 Silverlight30TestPage.aspx#/Control/PageDemo.xaml 的地址
-->
<navigation:Frame x:Name="frame" Source="/Control/PageDemo" JournalOwnership="OwnsJournal">
<navigation:Frame.Content>
<TextBlock Text="我是 Frame 的 Content" />
</navigation:Frame.Content>
<navigation:Frame.UriMapper>
<uriMapper:UriMapper>
<uriMapper:UriMapping Uri="/{address}" MappedUri="/{address}.xaml"/>
</uriMapper:UriMapper>
</navigation:Frame.UriMapper>
</navigation:Frame>
</Border>
<Button x:Name="navigateToPageDemo" Content="链接到 PageDemo" Click="navigateToPageDemo_Click" Width="200" />
<Button x:Name="navigateToPageDemo2" Content="链接到 PageDemo2" Click="navigateToPageDemo2_Click" Width="200" />
</StackPanel>

</Grid>
</navigation:Page>