And*_*eas 26 wpf aero maximize avalondock
我有以下代码给一个未对接的浮动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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何为此添加Aero Snap功能?
对于感兴趣的人,最新版本的 AvalonDock(版本 2)本身支持浮动窗口 aero snap 功能。AvalonDock 2.0 仍处于测试阶段,更多信息: http://avalondock.codeplex.com/ 新功能: http://avalondock.codeplex.com/wikipage?title =Version2Concept