在WPF中实现子窗口

时间:2013-05-23 05:52:44

标签: c# wpf childwindow

它有点尴尬,但我对wpf很新。 我想在父窗口内实现一个子窗口,它可以在整个窗口内移动和拖动。 到目前为止,我已经看过很多博客但是所有的博客都非常复杂和复杂,而且我的代码也不容易。 在这里,我试图以简单的方式实施,

XAML:

<Window x:Class="Project_Explorer.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wpfx="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
        Title="Project Explorer">
 <Grid>
    <wpfx:ChildWindow Name="PopupChildWindow" Caption="Child Window" Height="200" IsModal="True" Margin="105,0,0,47" Width="306" HorizontalAlignment="Left" VerticalAlignment="Bottom" / >           
 </Grid>
</window>

请不要将我推荐给任何帖子或网站。 只需提供一个小的演示xaml和xaml.cs文件来实现子窗口。

1 个答案:

答案 0 :(得分:1)

尝试使用FloatingWindow / FloatingWindowHost - 您可以在CodeProject.com上找到原始版本,或者您可以获取我的更新版本,它还添加了FloatingWindowHostZUI(带缩放和其他额外的东西)以及我主要合并WPF和Silverlight版本的地方代码(原始版本有单独的实现)。

http://ClipFlair.codeplex.com查看该库的我的版本(获取源并检查源中的Client / ZUI文件夹,在那里可以使用FloatingWindow和FloatingWindowZUI文件夹中的单独解决方案[第二个使用第一个中的项目] ])

请注意,这些不是扩展Window类,但是您可以将代码设置为UserControl并将其托管在FloatingWindow中,或者创建一个FloatingWindow子类并直接在其中包含代码。

您可以在http://ClipFlair.net尝试使用FloatingWindow,按照那里的Studio链接,然后打开Tutorial活动。使用FloatingWindowHost工具栏中的“缩放”滑块进行播放。也可以使用标题栏上的扳手按钮翻转Windows,并在后面设置属性,就像它们各自的缩放(比例)一样。