今回はFlyoutプロパティのないコントロールでFlyout表示をしてみます。
例えばRectangleコントロールはFlyoutプロパティがありません。
Flyout表示をするには、<FlyoutBase.AttachedFlyout>を使用します。
例として以下のXamlを示します。
Rectangleコントロールに<FlyoutBase.AttachedFlyout>を配置しFlyoutmenuを表示するようにします。
<Button x:Name="button" Content="Button" HorizontalAlignment="Left"
Margin="40,40,0,0" VerticalAlignment="Top">
<Button.Flyout>
<Flyout>
<StackPanel>
<TextBlock>Flyout中のTextBlock</TextBlock>
<Button>ボタン</Button>
</StackPanel>
</Flyout>
</Button.Flyout>
</Button>
XamlによってFlyoutの配置ができましたが、これだけではダメで、タップされたときに表示されるよう、以下のようにコードを記述する必要があります。
private void Rectangle_Tapped(object sender, TappedRoutedEventArgs e)
{
FlyoutBase.ShowAttachedFlyout(sender as FrameworkElement);
}
実行例を以下に示します。
Please follow and like us:

コメント