0x00.前提
自定义了一个查看图片细节的控件,本质是一个Image控件,但是应为采用了左侧为NavigationView右侧为Frame的导航模式,为了使该控件能覆盖到左侧的NavigationView之上,只能采用Popup。
这也导致该控件的容器不能是Frame/Page中的Grid,从而不能直接随窗体一起拉伸,可以采用SizeChanged事件和INotifyPropertyChanged接口来实现,也可使使用MeasurePopupSize()
0x01.实现
public Image_Detail() { this.InitializeComponent(); _popup = new Popup(); ApplicationView.GetForCurrentView().VisibleBoundsChanged += (s, e) => { MeasurePopupSize(); }; MeasurePopupSize(); _popup.Child = this; } private void MeasurePopupSize() { this.Width = ApplicationView.GetForCurrentView().VisibleBounds.Width; this.Height = ApplicationView.GetForCurrentView().VisibleBounds.Height; }