天天看點

uwp 如何使用c#生成帶MenuFlyoutItem的AppBarButton

以下為cs檔案的關鍵部分

AppBarButton ab = new AppBarButton();
                ab.Icon = new SymbolIcon(Symbol.Setting);
                ab.IsCompact = true;
                ab.VerticalAlignment = VerticalAlignment.Center;

                MenuFlyout mfly = new MenuFlyout();              
                MenuFlyoutItem edit = new MenuFlyoutItem();
                MenuFlyoutItem del = new MenuFlyoutItem();
                edit.Text = "Edit";
                del.Text = "Delete";
                mfly.Items.Add(edit);
                mfly.Items.Add(del);

                FlyoutBase.SetAttachedFlyout(ab, mfly);

                ab.Click += (object sender1, RoutedEventArgs e1) =>
                {
                    FlyoutBase.ShowAttachedFlyout((FrameworkElement)sender1);
                };
           
解釋:我們先分别建立AppBarButton和MenuFlyout控件,然後再将二者關聯即可。
     如果是使用xmal寫死的話,這一步使用<AppBarButton.Flyout>控件就可以了,
     而如果要用c#關聯,則需要使用到SetAttachedFlyout函數将二者關聯,
     再在AppBarButton的click事件中添加ShowAttachedFlyout事件。
           

Microsoft docs

繼續閱讀