首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

怎么在其它页面调用usercontrol

2012-08-13 
如何在其它页面调用usercontrolUserControl rootPage Application.Current.RootVisual as UserControlP

如何在其它页面调用usercontrol
UserControl rootPage = Application.Current.RootVisual as UserControl;
  Panel panel = VisualTreeHelper.GetChild(rootPage, 0) as Panel;
  if (mifo == null)
  {
  mifo = new UC_MeterInfo();
  mifo.Visibility = Visibility.Visible;
  panel.Children.Add(mifo);
  }
就是自己写了一个用户控件,现在在别的页面想调用出来,网上找的一些代码,测试上面的不行。

[解决办法]
调用自定义控件,分两种,

1. 静态调用

在Xaml头部声明自定义文件类库,然后在Xaml代码中声明自定义控件实例;

2. 动态调用

在后台代码中声明自定义控件对象实例,将自定义控件添加到视图树中。

详细请看:
http://silverlightchina.net/html/tips/2010/0818/1776.html



[解决办法]
同一个项目中。Usercontrol编译后,在控件的工具栏中也会找到这个自定义的控件。直接拖拽就行。
[解决办法]
动态编译??还是静态!

要是静态重新生成后直接在工具箱里面托到页面就行了


要是动态加载给你个代码:

C# code
 var PlugPath = DataBase.DataService.Instance.SystemUIConfig.Complaint.Path;                Assembly assembly = Assembly.GetExecutingAssembly();                Type[] TList = assembly.GetTypes();                var ThisT = from p in TList where p.FullName == PlugPath select p;                if (ThisT == null || ThisT.Count() == 0)                {                    MessageBox.Show("生成投诉单配置不正确");                    return;                }                var control = System.Activator.CreateInstance(ThisT.First(), Id, MyParams);                Plug = (IControl)control;                Plug.SetValue(System.Windows.Controls.Grid.ColumnProperty, 0);                Plug.SetValue(System.Windows.Controls.Grid.RowProperty, 0);                LayoutRoot.Children.Add((UserControl)control);
[解决办法]
那就直接用子窗体嘛!页面的美观可以看看网上的例子!用Blend想怎么画都可以啊!

热点排行