这节,我们的任务很简单。使其flyOut用户能够完成一定动作。
为用户控件编码
上节,我说到过,用户控件是由源代码文件的。所以, HomeZipCodeFlyout这个用户控件源代码如下:
1 using Windows.UI.Xaml; 2 using Windows.UI.Xaml.Controls; 3 namespace MetroGrocer.Flyouts { 4 public sealed partial class 5 HomeZipCodeFlyout : UserControl { 6 //HomeZip的构造函数 7 //进行初始化 8 public HomeZipCodeFlyout() { 9 this.InitializeComponent(); 10 } 11 //展示的方法 12 public void Show(Page page, AppBar appbar, Button button) { 13 //HomeZip的popup的控件 展示 14 HomeZipCodePopup.IsOpen = true; 15 //展示在appBar 下面的篇幅实现
FlyoutHelper.ShowRelativeToAppBar(HomeZipCodePopup, page, appbar, button); 16 } 17 //Click事件 18 private void OKButtonClick(object sender, RoutedEventArgs e) { 19 //Popup不显示 20 HomeZipCodePopup.IsOpen = false; 21 } 22 } 23 }
我这个show方法, 是使其Popup的控件不显示。Click事件,不是其PopUp控件不显示。
下面的问题,是在FlyOut控件中,定位Popup位置,我将在Click Button事件中的FlyoutHelper的ShowRelativeToAppBar方法实现。
FlyoutHelper中的ShowRelativeToAppBar方法又是如何实现,我将在以后下一节实现。