一个做sl的朋友到处问Silverlight怎么实现类似于母版页这样的框架功能。
查了一下 Silverlight确实没有提供类似的功能……但是 开玩笑 攻城狮耶 这么点小东西非得提供了才能用吗?
以下是解决方案:
新建一个随便什么的用户控件 我的叫做ManageFrame
首先是后台.cs代码 木有神马麻烦的 把继承的类改成 ContentControl
public partial class ManageFrame : ContentControl { public ManageFrame() { InitializeComponent(); } }
把继承类也改成
<ContentControl x:Class="IWorld.admin.Controls.ManageFrame" 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" xmlns:local="clr-namespace:IWorld.admin.Controls;assembly=IWorld.admin.Controls" mc:Ignorable="d" MinWIDth="1020"></ContentControl>
然后写模版
<ContentControl.Template> <ControlTemplate> <!--主体框架--> <GrID x:name="root"> <GrID.Background> <linearGradIEntBrush EndPoint="1,0.5" StartPoint="0,0.5"> <GradIEntStop color="#FFF0F0F0" Offset="1"/> <GradIEntStop color="#FFF6F6F6"/> </linearGradIEntBrush> </GrID.Background> <GrID.ColumnDeFinitions> <ColumnDeFinition WIDth="220"></ColumnDeFinition> <ColumnDeFinition></ColumnDeFinition> </GrID.ColumnDeFinitions> <!--以下是侧边栏--> <local:SIDetool SelectedText_Menu="{Binding SelectedText_Menu}" SelectedText_Page="{Binding SelectedText_Page}" Username="{Binding Username}" Group="{Binding Group}" JumpCommand="{Binding JumpCommand}" EditaccountCommand="{Binding EditaccountCommand}" logoutCommand="{Binding logoutCommand}"/> <!--以上是侧边栏--> <!--以下是界面框架--> <GrID GrID.Column="1"> <GrID.RowDeFinitions> <RowDeFinition></RowDeFinition> <RowDeFinition Height="75"></RowDeFinition> </GrID.RowDeFinitions> <!--界面内容将插插入在这里--> <ContentControl Foreground="{TemplateBinding Property=Foreground}"> <ContentPresenter/> </ContentControl> <!--以下是页脚--> <!--技术支持图标--> <local:TechnicalSupport_button WIDth="75" Height="75" GrID.Row="1" HorizontalAlignment="Right" margin="0,30,0"/> <!--版权信息--> <TextBlock Text="版权所有 盗版必究 © 2013" margin="0,109,10" GrID.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom" Foreground="{TemplateBinding Property=Foreground}"/> <!--以上是页脚--> </GrID> <!--以上是界面框架--> </GrID> </ControlTemplate> </ContentControl.Template>
注:侧边栏是自定义控件 可以无视 大家不用去思考local这个名称空间是哪里来的(可以无视它)
模版随便写 最重要的是 <ContentPresenter/>
把它放在你想要插入内容的地方 然后 就可以了
用起来 这样用:
<local:ManageFrame> <GrID> <TextBlock Text="Hrllo world"/> </GrID> </local:ManageFrame>
它使用时候唯一要注意的 也是唯一的缺点
它里面只能放一个子元素 理由不解释 请自行查阅相关资料 知道结果就可以了
不过这不影响使用 在所有你想弄的东西之外再套一个grID就可以了——麻烦那么一点点 不过 能用
总结以上是内存溢出为你收集整理的闲时扯谈 - Silverlight母版页的实现全部内容,希望文章能够帮你解决闲时扯谈 - Silverlight母版页的实现所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)