ActivationHost для ElementMenu

Я создаю динамически ScatterView элементы, использующие шаблон:

<s:ScatterView.ItemTemplate >
    <DataTemplate>
        <DockPanel LastChildFill="True" >
            <DockPanel.Background>
                <ImageBrush ImageSource="{Binding Type, Converter={StaticResource imgSelector}}"
                            Stretch="Fill" />
            </DockPanel.Background>
            <TextBox Background="Transparent" DockPanel.Dock="Top" Text="{Binding Path=Message}"
                     IsReadOnly="True" TextWrapping="Wrap" />
            <s:ElementMenu Name="emBallMenu" VerticalAlignment="Top"
                           ActivationMode="HostInteraction" ActivationHost="?????">
                <s:ElementMenuItem Header="Send back" x:Name="emiSendBack"
                                   Command="local:MainSurfaceWindow.MenuItemCommand"
                                   CommandParameter="{Binding Path=BallId}"/>
            </s:ElementMenu>
        </DockPanel>
    </DataTemplate>
</s:ScatterView.ItemTemplate>

Что я должен установить в ActivationHost из emBallMenu так что меню активируется при нажатии пальцем на родителя ScatterView.ItemTemplate?

1 ответ

Решение

Правильный ответ:

<s:ElementMenu Name="emBallMenu" 
    VerticalAlignment="Top" 
    ActivationMode="HostInteraction" 
    ActivationHost="{Binding RelativeSource=RelativeSource FindAncestor, 
                    AncestorType={x:Type s:ScatterViewItem}}}" 
/>

Я нашел это здесь

Другие вопросы по тегам