我在WPF中有一个多窗口应用程序,我的主应用程序窗口是不可见的(Visibility = Collapsed),包含可见的子窗口。应用程序按需创建子窗口。我需要一个算法来确定新创建的子窗口的坐标和尺寸。显然,新的子窗口不应该(完全)覆盖另一个子窗口。 WPF是否提供任何支持来实现这种逻辑?或者,我必须自己做所有事情。我想这会是很多工作。我正在寻找的行为与Windows 7中的Sticky Notes行为非常相似。
我的部分代码将帮助您真正理解我的意思:
public void ViewModelsCollectionChanged(object sender,
NotifyCollectionChangedEventArgs e)
{
if (e.Action == NotifyCollectionChangedAction.Add)
{
foreach (ViewModel viewModel in e.NewItems)
{
View view = new View(viewModel);
view.Owner = SleekNoteUI.App.Current.MainWindow;
...
}
}
}