.net - WPF:在具有关闭按钮的子窗口镶边中包含控件

标签 .net wpf .net-4.0 c#-4.0

我是一名 C++ 程序员,我已经开始了一个辅助项目来教我一些 WPF。我已经开始制作一个桌面应用程序来浏览图像并可能修饰它们,比如 paint.net。

我想在具有关闭按钮的子窗口镶边中包含控件(例如,参见下图)。有点像 MDI,但又不完全是。
alt text

我想,目前最简单的方法是将它包含在另一个 <window></window> 中。 ,但似乎 WPF 不喜欢这样。它给出运行时异常。

有没有更简单的方法呢?我找不到任何解释类似内容的链接。

最佳答案

要使用 Window,您需要在单独的文件中创建一个新的 Window 类,然后您可以从主窗口的代码中实例化并显示该类。

var childWindow = new MyChildWindow();
childWindow.Show();

要获得简化的窗口 chrome,请在 MyChildWindow 中设置 WindowStyle = WindowStyle.ToolWindow。

如果您尝试在需要使用普通非窗口控件的主窗口中创建一个包含的模拟窗口。 Silverlight 包含一个 ChildWindow 类,但它没有内置到 WPF 中。要创建类似的东西,您可以使用 HeaderedContentControl,您必须通过修改 ControlTemplate 将其样式设置为看起来像工具窗口。您还需要在控件上创建拖动、调整大小和关闭等行为,这通常最好通过将其设为自定义控件来处理。

关于.net - WPF:在具有关闭按钮的子窗口镶边中包含控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4333764/

相关文章:

c# - 如何使用 C# 将动态 XAML 转换为 PNG 或 GIF?

Wpf 组合框触发器

c# - 基于证书的文件共享身份验证

c# - 如何正确部署托管/非托管 C++ 库

sql-server-2008 - SQL 空间多边形由内而外

java - java(jax-ws)网络服务和.net网络服务之间的区别?

c# - 在LINQ中设置或更新数据

功能区控件的 WPF 数据绑定(bind)

.net - '1-dimensional array of byte' 类型的值无法转换为字节

c# - 在运行时将更改应用到主窗体 Form.Icon