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}}}"
/>
Я нашел это здесь