C# Caliburn Micro WindowManager设置WindowsStyle.None并允许拖动
我现在非常坚持这一点,我的设计师希望我们的应用程序具有WindowsStyle。无要删除边框和默认丑陋控件,他必须添加自定义控件,通常允许拖动。过去我们使用矩形并监视mousedown事件以允许拖动 然而,对于Caliburn micro,我们失去了对窗口的控制,因为windowmanager为我们创建了这个窗口,我知道您可以重写create window方法,但这仍然无法向窗口本身添加UI元素并绑定到这些事件。或者至少我能想出一个方法来做到这一点C# Caliburn Micro WindowManager设置WindowsStyle.None并允许拖动,c#,wpf,mvvm,caliburn.micro,C#,Wpf,Mvvm,Caliburn.micro,我现在非常坚持这一点,我的设计师希望我们的应用程序具有WindowsStyle。无要删除边框和默认丑陋控件,他必须添加自定义控件,通常允许拖动。过去我们使用矩形并监视mousedown事件以允许拖动 然而,对于Caliburn micro,我们失去了对窗口的控制,因为windowmanager为我们创建了这个窗口,我知道您可以重写create window方法,但这仍然无法向窗口本身添加UI元素并绑定到这些事件。或者至少我能想出一个方法来做到这一点 基本上,我们正在尝试实现的是带有Windows
基本上,我们正在尝试实现的是带有WindowsStyle的“主窗口”。没有,并且能够拖动和移动窗口。我的谷歌搜索没有给出一个可靠的答案,我希望这里的人能有一个想法。Caliburn.Micro
WindowManager
提供了对其Show
方法的覆盖,允许您设置所创建窗口的设置
请看一个例子
或者,您可以直接使用窗口作为视图类型(在XAML和生成的代码隐藏文件中),并在XAML中声明性地设置属性
如果希望使所有对话框等具有通用UI组件,则可以创建派生的WindowManager
类型,将调用委托给CMWindowManager
,但将传入的视图模型与通用视图模型包装在一起。然后在引导程序中注册此自定义窗口管理器,而不是默认的CM窗口管理器。Caliburn.Micro不会强制您将所有视图设置为用户控件。主视图或显示为主窗口的视图可以是窗口控件,您可以直接在该窗口上设置属性,如“WindowStyle.None”。当Caliburn.Micro看到主视图模型后面的视图(您使用的是作为根的视图模型,然后是您首先创建的视图模型)实际上是一个窗口,而不是用户控件时,它将遵守这一点并显示该窗口,不会创建新窗口。因此,您可以直接在该窗口上设置属性,一切都会正常工作。我真的不知道,我所看到的一切都表明,它总是可以打开窗口,这将是完美的!