App.xaml Windows Phone 8.1中的DataTemplate上的事件处理程序

时间:2015-01-31 18:16:51

标签: c# xaml windows-phone-8.1 datatemplate flyout

由于ItemTemplateSelector,我有一个由具有不同样式的项填充的ListView。 DataTemplates作为ressource放在app.xaml中,如下所示:

<DataTemplate x:Key="FollowingOuterTemplate">
        <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
            <FlyoutBase.AttachedFlyout>
                <MenuFlyout>
                    <MenuFlyoutItem Text="Delete" />
                    <MenuFlyoutItem Text="Refresh" />
                    <MenuFlyoutItem Text="Share" />
                </MenuFlyout>
            </FlyoutBase.AttachedFlyout>
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
                <StackPanel Orientation="Vertical" Width="282">
                    <TextBlock Grid.Row="0" FontSize="33" Text="{Binding Pseudo}" Foreground="Gray" Height="46" Margin="0,0,-0.333,0"/>
                    <TextBlock Grid.Row="1" FontSize="20" Text="{Binding NomPrenom}" Foreground="#5bc5eb" Height="27" Margin="0,0,-0.333,0"/>
                    <TextBlock Grid.Row="2" FontSize="20" Text="Appuyez pour ne plus suivre" Foreground="#BCC6CC" Height="27" Margin="0,0,-0.333,0"/>
                </StackPanel>
                <StackPanel Orientation="Vertical" HorizontalAlignment="Stretch" Width="113">
                    <Image Name="StatutContact"  Height="43" Source="/Ressources/Images/checkedTests2.png" Stretch="Fill" Margin="0,20,0,0" Width="44" HorizontalAlignment="Center"/>
                </StackPanel>
            </StackPanel>
        </StackPanel>
    </DataTemplate>

所以现在我想在我拿着一个项目时显示 FlyoutBase附加菜单。但是由于DataTemplate在app.xaml中,并且禁止在那里添加事件处理程序(app.xaml.cs没有任何构造函数,因为它没有构建页面)。我想将一个 Holding 事件处理程序添加到附加FyloutBase菜单的StackPanel。

任何人都知道如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

不确定你是否真的不能这样做,但是Shawn Kendrot提出了一个Silverlight Toolkit的ContextMenuService端口来解决你的问题on his Blog.