2

我正在使用http://wpfmdi.codeplex.com/库来处理我的 WPF 应用程序中的 MDI。

我有一个Canvas包含一个子容器的容器,所有的小窗口都放在这里。我希望在 x=500, y=500 的位置打开窗户。但是,使用我当前的代码,窗口总是在画布的左上角打开。

下面我粘贴了我的 XAML 和在画布中打开一个新窗口的代码。

<Canvas Name="cnvsMain" Background="LightGray" AllowDrop="True" Drop="cnvsMain_Drop">
     <mdi:MdiContainer Name="mainContainer" Background="LightGray">
     </mdi:MdiContainer>
</Canvas>


            TableWindow tableWindow = new TableWindow(tableName);
            listTableWindows.Add(tableWindow);

            mainContainer.Children.Add(new MdiChild()
            {
                MaximizeBox = false,
                MinimizeBox = false,
                Resizable = true,
                ShowIcon = false,
                Title = "X",
                Position = new Point(500,500),
                Content = tableWindow.Content as UIElement //Opens new instance of my window class
            });

有任何想法吗?我也尝试从我的窗口类中设置位置,但无济于事。

4

1 回答 1

2

只是在这里吐口水,因为我没有使用过那个特定的图书馆,而是

mainContainer.Children.Add(new MdiChild()
{
    MaximizeBox = false,
    MinimizeBox = false,
    Resizable = true,
    ShowIcon = false,
    Title = "X",
    Position = new Point(500,500),
    Content = tableWindow.Content as UIElement //Opens new instance of my window class
});

你有没有尝试过

var child = new MdiChild
{
    MaximizeBox = false,
    MinimizeBox = false,
    Resizable = true,
    ShowIcon = false,
    Title = "X",
    Position = new Point(0, 0),
    Content = tableWindow.Content as UIElement //Opens new instance of my window class
};

mainContainer.Children.Add(child);
child.Position = new Point(500, 500);
//      or
//child.Margin = new Thickness(500, 500, 0, 0);
于 2012-10-19T04:45:00.370 回答