我目前正在试验ChildWindowDialog,并且我已经创建了一个控制器类。我希望我的弹出窗口显示在所有屏幕上(有点像全屏模式)。我在下面有HtmlPage.Window.Eval(),但我不确定这是否正确。感觉不对的原因之一是我不知道将来如何测试这门课程。此外,我已将控制器耦合到Browser类,这意味着我无法在WPF应用程序中重用它。
public class GalleryCoverFlowChildWindowController
{
private readonly IEventAggregator _eventAggregator;
private readonly IUnityContainer _container;
public GalleryCoverFlowChildWindowController(IEventAggregator eventAggregator, IUnityContainer container)
{
_eventAggregator = eventAggregator;
_container = container;
_eventAggregator.GetEvent<GalleryCoverViewPopupEvent>().Subscribe(PopupShow, ThreadOption.UIThread, true, Filter);
}
private bool Filter(string obj)
{
return true;
}
private void PopupShow(string obj)
{
var galleryPopup = _container.Resolve<GalleryCoverFlowChildWindow>();
galleryPopup.Width = (double)System.Windows.Browser.HtmlPage.Window.Eval("screen.availWidth");
galleryPopup.Height = (double)System.Windows.Browser.HtmlPage.Window.Eval("screen.availHeight");
galleryPopup.Show();
}
}
JD。
答案 0 :(得分:0)
为了解决耦合问题,我创建了一个ScreenService并通过Unity注入它。这样我就不依赖于DOM了。这将使代码的测试更容易。
有什么想法吗?