我是一名 C++ 程序员,我已经开始了一个辅助项目来教我一些 WPF。我已经开始制作一个桌面应用程序来浏览图像并可能修饰它们,比如 paint.net。
我想在具有关闭按钮的子窗口镶边中包含控件(例如,参见下图)。有点像 MDI,但又不完全是。
我想,目前最简单的方法是将它包含在另一个 <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/