扩展的 WPF 工具包更改代码中的 ChildWindow 位置
Extended WPF Toolkit change ChildWindow position in code
扩展 WPF 工具包的 WindowContainer
和 ChildWindow
在 XAML 中都有 Left
和 Top
属性可用,但这两个属性都不可用在代码后面。
如果不公开这些属性,我们如何从代码中更改 WindowContainer
或 ChildWindow
的位置?
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 属性 未 附加,您可以在代码中毫无问题地使用它。
希望对您有所帮助
扩展 WPF 工具包的 WindowContainer
和 ChildWindow
在 XAML 中都有 Left
和 Top
属性可用,但这两个属性都不可用在代码后面。
如果不公开这些属性,我们如何从代码中更改 WindowContainer
或 ChildWindow
的位置?
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 属性 未 附加,您可以在代码中毫无问题地使用它。
希望对您有所帮助