1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 点击控件动态创建新页面

点击控件动态创建新页面

时间:2024-03-29 20:19:48

相关推荐

点击控件动态创建新页面

在C#中,经常需要动态创建一个对象,而且根据点击控件之后,创建不同的对象,如果使用if语句,就会很麻烦,所以,现在提供一种动态创建控件的方法

其中原理还不是很清楚,刚接触C#,查了一些资料,只是达到了会用的地步(照猫画虎而已,仅作学习比较,有兴趣可以看我转载的另外几篇文章,也许会更清楚一些,还有推荐WPF中路由事件一节,在这一节中,关于路由事件讲解的很清楚)

我要实现的是点击菜单栏中的标签,生成一个tab页,其中我的Tab页是由用户自定义控件的方式自动创建的

闲话不多说,关键代码奉上:(cs文件中)

//声明一个MenuItem对象

MenuItem cmd = (MenuItem)e.OriginalSource;Type type = this.GetType();Assembly assembly = type.Assembly;

//创建对应的用户自定义控件,在这里可以创建window与page类型,必须注意的是类型必须对应,而且必须有强制类型转换,否则会报错

UserControl page = (UserControl)assembly.CreateInstance(type.Namespace + "." + cmd.Name);

//我自己的代码,添加页面tabControl_Grid.Items.Add((new CloseableTabItem(cmd.Name, page)));//将生成的tab页置顶

tabControl_Grid.SelectedIndex = tabControl_Grid.Items.Count - 1;

对应的XAML文件中

<MenuItem Header="线路"><MenuItem Name="Line1" Header="Line1" Click="OnLineClick"/><MenuItem Name="Line2" Header="Line2" Click="OnLineClick"/><MenuItem Name="Line3" Header="Line3" Click="OnLineClick"/></MenuItem>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。