我有以下代码使未停靠的 float AvalonDock窗口具有最大化的能力:
class MaximizableDockableContent : AvalonDock.DockableContent
{
public MaximizableDockableContent()
: base()
{
base.StateChanged += MaximizableDockableContent_StateChanged;
}
private void MaximizableDockableContent_StateChanged(
object sender, RoutedEventArgs e)
{
MaximizableDockableContent mdc = (MaximizableDockableContent)sender;
if (mdc.State == DockableContentState.DockableWindow)
{
base.FloatingWindowSizeToContent = SizeToContent.WidthAndHeight;
FloatingDockablePane fdp = (FloatingDockablePane)base.Parent;
DockableFloatingWindow dfw = (DockableFloatingWindow)fdp.Parent;
//dfw.WindowState = WindowState.Maximized;
dfw.WindowStyle = WindowStyle.ThreeDBorderWindow;
dfw.ResizeMode = ResizeMode.CanResize;
//disable minimize button
ControlBox.SetHasMinimizeButton(dfw, false);
}
}
}
我该如何添加Aero Snap功能?
最佳答案
对于谁感兴趣,最新版本的AvalonDock(版本2)本机支持 float 窗口Aero快照功能。
AvalonDock 2.0仍处于beta中,更多信息:
http://avalondock.codeplex.com/
新的功能:
http://avalondock.codeplex.com/wikipage?title=Version2Concept
关于wpf - 在DockableFloatingWindow上最大化并自动捕捉,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6155444/