扩展的 WPF 工具包更改代码中的 ChildWindow 位置

Extended WPF Toolkit change ChildWindow position in code

扩展 WPF 工具包的 WindowContainerChildWindow 在 XAML 中都有 LeftTop 属性可用,但这两个属性都不可用在代码后面。

如果不公开这些属性,我们如何从代码中更改 WindowContainerChildWindow 的位置?

private void VerifyWindowSize(Xceed.Wpf.Toolkit.Primitives.WindowContainer wc)
{
    if (wc == null) return;
    if (wc.Width > screen.WorkingArea.Width)
    {
        wc.Width = screen.WorkingArea.Width;
        //wc.Left = screen.WorkingArea.Left; // Cannot resolve symbol Left
    }
    if (!(wc.Height > screen.WorkingArea.Height)) return;
    wc.Height = screen.WorkingArea.Height;
    //wc.Top = screen.WorkingArea.Top;
}

WindowContainer is a Canvas, therefore its own Left and Top dependency properties are attached。它们不是针对 WindowContainer 本身,而是针对其 children。 如果你想设置 - 例如 - Left 附加 属性 为 Canvas 的 child,你可以使用相关方法 SetLeft.

另一方面,ChildWindow control has its own Left and Top 属性 附加,您可以在代码中毫无问题地使用它。

希望对您有所帮助