【发布时间】:2010-03-24 13:15:14
【问题描述】:
我们在 shell 的 Window 标签中有一个 Region,向这个区域添加东西会弹出另一个 Window。
<Window x:Class="GTS.GRS.N3.Shell.Shell1"
--removed namespace references for clarity
cal:RegionManager.RegionName="{x:Static Constants:RegionNames.WindowRegion}">
我们将 ViewModels 添加到区域管理器,然后通过数据上下文附加视图,以便 ViewModel 对视图一无所知,即
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<DataTemplate DataType="{x:Type Model:CommunicationViewModel}">
<v:CommunicationView />
</DataTemplate>
</ResourceDictionary>
我的问题是如何关闭弹出窗口,我尝试从 RegionManager 中删除 ViewModel - 但是这个例外......视图是一个用户控件,但我需要关闭它的所有者,这是一个由打开的新窗口该区域。我真的不想通过 ViewModel 的 DataContext 破解它。
有人可以帮忙吗?
【问题讨论】:
-
你有一个窗口的 RegionAdapter 吗?一个 Window 是一个 ContentControl (所以它应该可以工作),但我从来没有听说过有人这样做,我绝对不会期望它在向该区域添加某些内容时弹出窗口。你能分享一下这个例外吗?