所以我有一个 WPF 应用程序,当它被拖到屏幕顶部时,它会最大化窗口。
但是,我想更改一个属性,因此我认为最好创建自己的拖动最大化属性。
最简单的方法是什么?
提前致谢。
所以我有一个 WPF 应用程序,当它被拖到屏幕顶部时,它会最大化窗口。
但是,我想更改一个属性,因此我认为最好创建自己的拖动最大化属性。
最简单的方法是什么?
提前致谢。
您可以检查窗口的 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
}