如何在没有代码隐藏文件的情况下移动无边界的wpf窗口

rhe*_*980 4 c# wpf xaml mvvm caliburn.micro

我正在创建一个带无边框窗口的WPF应用程序.应用MVVVM模式(在Caliburn.Micro的帮助下)我没有代码隐藏文件但只有一个XAML文件.

在几个帖子中我发现了以下解决方案

XAML:

<Window
   ...
   WindowStyle="None" MouseLeftButtonDown="WindowMouseLeftButtonDown"/>
Run Code Online (Sandbox Code Playgroud)

代码背后:

 private void WindowMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        DragMove();
    }
Run Code Online (Sandbox Code Playgroud)

现在我正在寻找一种解决方案,在XAML中完全定义它.

任何的想法?

Ibr*_*jar 7

我将不会提出解决方案,但您可以将代码放在XAML文件中,如下所示:

<Window
...
WindowStyle="None" MouseLeftButtonDown="WindowMouseLeftButtonDown"/>
<x:Code>
    <![CDATA[            
        private void WindowMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            DragMove();
        }
    ]]>
</x:Code>
Run Code Online (Sandbox Code Playgroud)

有关此内容的更多信息,请查看此Codeproject文章!


Foo*_*ole 1

我认为你最好的选择是一种行为。

http://wpftutorial.net/Behaviors.html