WPF在控件里面嵌套WPF窗体
各位大家好,我想用WPF制作如下的窗体窗体要求已经在图上标明了。主要问题是我想在WPF里面在添加一个WPF窗体,可是在网上找了很久的资料没找着,请各位帮帮忙呀。如果能达到...
各位大家好,我想用WPF制作如下的窗体
窗体要求已经在图上标明了。
主要问题是我想在WPF里面在添加一个WPF窗体,可是在网上找了很久的资料没找着,请各位帮帮忙呀。
如果能达到WPF里面用一控件再添加一个WPF窗体的话分就给了。如果能达到图片上的全部要求的话另加高分。
一定要是在WPF里面添加WPF窗体。
还有一般做成这种窗体的格式都是用什么去做的啊?
还有如果有谁能提供一些相关资料的另加分,如果有视频的话那就更好了。拜托各位了。
有谁有这方面比较厉害的,能否收小弟为徒!
另有WPF自定义控件的视频的还可加分。在此感谢各位了。
如有什么不方便的,可加小弟扣扣。
希望能详细的向小弟详解一番。
小弟扣扣:!!(*)*@%$*,(这个是按住shfit 键的,去掉shift键即可)资料可邮箱给我。
先谢过了! 展开
窗体要求已经在图上标明了。
主要问题是我想在WPF里面在添加一个WPF窗体,可是在网上找了很久的资料没找着,请各位帮帮忙呀。
如果能达到WPF里面用一控件再添加一个WPF窗体的话分就给了。如果能达到图片上的全部要求的话另加高分。
一定要是在WPF里面添加WPF窗体。
还有一般做成这种窗体的格式都是用什么去做的啊?
还有如果有谁能提供一些相关资料的另加分,如果有视频的话那就更好了。拜托各位了。
有谁有这方面比较厉害的,能否收小弟为徒!
另有WPF自定义控件的视频的还可加分。在此感谢各位了。
如有什么不方便的,可加小弟扣扣。
希望能详细的向小弟详解一番。
小弟扣扣:!!(*)*@%$*,(这个是按住shfit 键的,去掉shift键即可)资料可邮箱给我。
先谢过了! 展开
3个回答
展开全部
明确告诉你你的思路是错误的。
WPF中Window类是不允许作为子元素存在的,所以说窗体中嵌套窗体是不可能实现的。
你学习一下以下内容(MVVM,DataTemplate),你应该就会做了。
WPF中Window类是不允许作为子元素存在的,所以说窗体中嵌套窗体是不可能实现的。
你学习一下以下内容(MVVM,DataTemplate),你应该就会做了。
追问
追答
这里有WPF实现MDI窗口的方法,原理是用的Win API方式实现的:
http://www.cnblogs.com/luluping/archive/2012/02/01/2335127.html
虽然我不明白你们老师的用意,但可以肯定的是,如果是用WPF框架,那么MDI不是优选,WPF的核心是MVVM和DataTemplate,如果一个WPF项目中没有用到这两个东西,那么也就没有选择WPF的必要了。
这里有篇文章介绍 DataTemplate 的,你参考一下:
http://www.cnblogs.com/zhouyinhui/archive/2007/03/30/694388.html
如果是用 DataTemplate实现MDI的话,基本原理如下:
MDI窗体用一个ContentControl表示,然后针对每个子窗体设计一个自定义的类型,再为这些类型设计不同的DataTemplate。当将某个子窗体对象赋值给ContentControl控件的Content属性后,ContentControl控件会自动的将界面按照对应的DataTemplate显示并绑定数据。
你的导航只需要切换ContentControl中Content属性的赋值即可。
展开全部
如果你把子窗体换成用户控件,那么你的问题就迎刃而解了。可以把红线框住的部分用一个Border替代,然后创建一个用户控件,把红框的内部放到用户控件里,最后设置Border的Child属性为新的用户控件即可。
更多追问追答
追问
追答
<Button Content="子窗体一" Grid.Column="0" HorizontalAlignment="Left" Margin="25,38,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
<Button Content="子窗体二" Grid.Column="0" HorizontalAlignment="Left" Margin="25,89,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click_1"/>
<Border x:Name="MainContent" BorderBrush="Black" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Top"/>
C#代码:
private void Button_Click(object sender, RoutedEventArgs e)
{
this.MainContent.Child=new SubWinOne();
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
this.MainContent.Child = new SubWinTwo();
}
详细内容可查看附件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有一个笨办法,不是嵌套。在你的子窗体打开的时候 自定义子窗口打开时的位置,而且位置可以跟随主窗体移动应该就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询