所以我有一个WPF应用程序,当窗口被拖到屏幕顶部时会最大化窗口。
但是,我想改变一个属性,因此我觉得最好如果我创建自己的拖动最大化属性。
最简单的方法是什么?
提前致谢。
答案 0 :(得分:0)
您可以检查窗口的WindowState是否设置为“Maximized”。如果它已最大化,您可以相应地更改文本。
为此,您需要订阅窗口的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
}