atelier:mitsuba

i love UI/UX, Blend, XAML, Behavior, P5, oF, Web, Tangible Bits and Physical computing. なにかあればお気軽にご連絡ください。atelier@c-mitsuba.com

Windows Phone 8.1開発でAppBarButtonのTappedイベントが発火されないとき。

結論から言って、Clickedを使いましょう(

こんなん作ってて
f:id:c-mitsuba:20140418040016j:plain

こんなXAML

    <Page.BottomAppBar>
        <CommandBar x:Name="commandbar" Background="Transparent" BorderBrush="{x:Null}" ClosedDisplayMode="Minimal">
        	<CommandBar.SecondaryCommands>
        		<AppBarButton Label="appbarbutton" Tapped="AppBarButton_Tapped" Click="AppBarButton_Click"/>
        	</CommandBar.SecondaryCommands>
        </CommandBar>
    </Page.BottomAppBar>

こんなイベント書くと

        private async void AppBarButton_Tapped(object sender, Windows.UI.Xaml.Input.TappedRoutedEventArgs e)
        {
            var hoge = new MessageDialog("tap");
            await hoge.ShowAsync();
        }

        private async void AppBarButton_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            var hoge = new MessageDialog("click");
            await hoge.ShowAsync();
        }

Tappedは動きません。Clickedは動きます。
昔からそうやっけ?
でも、Tappedイベントはあるのよね。紛らわしい。

ちなみに2014年4月14日のmsdnでもClickedイベントのみがサンプルとして使われています。
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh394040(v=vs.105).aspx



これ、バグちゃうのん。。。