龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

Silverlight实例教程9:Silverlight主页面布局(2)

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
而右边就是一个TabControl, Code Grid x:Name="tabContainerGrid" StackPanel x:Name="spStartPage" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Visibility="Visible" /StackPanel basics:T

而右边就是一个TabControl,
Code
<Grid x:Name="tabContainerGrid">
 <StackPanel x:Name="spStartPage" HorizontalAlignment="Stretch"  VerticalAlignment="Stretch"  Visibility="Visible">
 </StackPanel>
 <basics:TabControl x:Name="tabContainer" Background="#dfe8f6" Visibility="Collapsed" SelectionChanged="tabContainer_SelectionChanged">
 </basics:TabControl>
</Grid>
我们在右边Accordion控件的单击事件里用反射创建页面实例并添加进TabItem的Content。
Code
UserControl uc = null;
if (element.Name.Equals("QEMain"))
{
//反射调用QE主界面
Assembly assembly = ClientEnvironment.Instance.DAC["XCenter.QueryEngine.Client"];
if (assembly == null)
{
 WindowHelper.ShowError("报表引擎模块加载错误.");
 return;
}
Type type = assembly.GetType("XCenter.QueryEngine.Client.Controls.QueryMain");
uc =  (UserControl)Activator.CreateInstance(type);
}
else if (element.Name.Equals("datadicMain"))
{
//反射调用QE数据字典界面
Assembly assembly = ClientEnvironment.Instance.DAC["XCenter.QueryEngine.Client"];
if (assembly == null)
{
 WindowHelper.ShowError("报表引擎模块加载错误.");
 return;
}
Type type = assembly.GetType("XCenter.QueryEngine.Client.Controls.Datadic");
uc = (UserControl)Activator.CreateInstance(type);
}
else
{
uc = new WupuDataParam(WupuParameFactory.GetFactory(name));
}
tabItem.Content = uc;
由于是Demo在XCenter中目前都是写死的,项目中应该从数据库或插件配置文件中取类名并反射实例。

 


精彩图集

赞助商链接