WPF MDI最大化框

时间:2014-07-28 08:07:59

标签: c# xml wpf mdi mdichild

我正在使用此网站http://wpfmdi.codeplex.com/中的WPF多文档界面。如何在单击最大化按钮时以相同的方式最大化代码中的框?

<DockPanel>
  <mdi:MdiContainer Theme="Luna" DockPanel.Dock="Top" Margin="0 20 0 0" Name="MainMdiContainer">
  <mdi:MdiChild Name="TestWindow"  Title="Child Window" Background="AliceBlue" Resizable="True" />
  </mdi:MdiContainer>
</DockPanel>

我尝试过像

这样的东西
TestWindow.WindowState = System.Windows.WindowState.Maximized;

但是当我按下“最大化”按钮时,我看不到我通常看到的按钮。

1 个答案:

答案 0 :(得分:2)

您的代码有效。你的问题必须在其他地方。

Before resize

After resize

XAML:

    <mdi:MdiContainer Grid.Column="2"  x:Name="Container" Background="#bdbdbd" AllowDrop="True">
        <mdi:MdiChild Name="TestWindow" Title="Child Window" Background="AliceBlue" Resizable="True" />
    </mdi:MdiContainer>

C#:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        TestWindow.MouseDown += TestResize;
    }

    private void TestResize(object sender, MouseButtonEventArgs e)
    {
        var mdiChild = sender as MdiChild;
        if (mdiChild != null)
        {
            mdiChild.WindowState = WindowState.Maximized;
        }
    }
}

注意: 我使用WPF MDI的修改版本,因为当前版本的模式存在最大化错误。内容高度大于MdiChild内容高度。 我在codeplex上发布了一个解决方案: http://wpfmdi.codeplex.com/discussions/543694