1

所以我有一个 WPF 应用程序,当它被拖到屏幕顶部时,它会最大化窗口。

但是,我想更改一个属性,因此我认为最好创建自己的拖动最大化属性。

最简单的方法是什么?

提前致谢。

4

1 回答 1

1

您可以检查窗口的 WindowState 是否设置为“最大化”。如果它被最大化,您可以相应地更改文本。

为此,您需要订阅窗口的 SizeChanged 事件,并在事件处理程序中检查 WindowState 是否设置为 Maximized/Normal。如果是这样,您可以相应地更改文本。

我假设您正在使用自定义窗口来尝试使用带有字体“Wingdings”的按钮或某些具有表示最小化、恢复/最大化和关闭图标的字形的按钮来表示最小化、恢复和关闭按钮。

无论如何,即使我的假设是错误的,您也可以随时根据您的情况调整下面的代码。

    public CustomWindow()
    {
        SizeChanged += CustomWindow_SizeChanged;
    }

    void CustomWindow_SizeChanged(object sender, SizeChangedEventArgs e)
    {
         CheckRestoreButtonIcon();
    }

    protected void CheckRestoreButtonIcon()
    {          
        //i'm assuming that the button is named as restoreButton.
        //in wingdings, 1 is for maximized glyph, 2 is for restore glyph
        // you can always set content to whatever you want!

        if (restoreButton == null)
            return;

        if (WindowState == WindowState.Maximized)
            restoreButton.Content = "1"; //maximizee glyph
        else
            restoreButton.Content = "2";//restore glyph
    }
于 2015-01-22T09:11:42.823 回答