0

由于 ItemTemplateSelector,我有一个由具有不同样式的项目填充的 ListView。DataTemplates 作为资源放置在 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 没有任何构造函数,因为它没有构建页面)。我想向FyloutBase 菜单附加到的 StackPanel 添加一个 Hold 事件处理程序

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

4

1 回答 1

0

不确定您是否真的不能这样做,但 Shawn Kendrot在他的博客上提出了 Silverlight Toolkit 的 ContextMenuService 的一个端口,可以解决您的问题。

于 2015-02-01T14:02:58.450 回答