2016-12-27 15 views
0

Я использую свое собственное определение ItemTemplateКак установить ToolTip и ContextMenu, назначенный для всех элементов управления, определенных в ListView.ItemTemplate

<ListView.ItemTemplate> 
    <DataTemplate> 
     <StackPanel> 
     ... 
     </StackPanel> 
    </DataTemplate> 
</ListView.ItemTemplate> 

Панель стека ownes несколько contols. Целью является всплывающее окно ContextMenu, если пользователь щелкнет правой кнопкой мыши на любом элементе управления панелью стека и отобразит ту же подсказку, когда мышь находится над элементом управления.

Есть ли возможность сделать назначение всплывающей подсказки/контекстного меню в одном месте, а чтобы сделать это индивидуально для каждого элемента управления?

+0

* всплывающее окно с одним и тем же инструментом, если пользователь щелкнул правой кнопкой мыши на любом элементе управления * Вы имеете в виду контекстное меню? – Prajwal

+0

Ох. Прости. Контекстное меню. Но было бы интересно узнать, как сделать одно назначение для всплывающей подсказки. –

+0

Для всех элементов управления в этом шаблоне. вам нужен один и тот же подсказку для отображения? – Prajwal

ответ

2

Есть ли возможность сделать назначение всплывающей подсказки/контекстного меню в одном месте, а для этого индивидуально для каждого элемента управления?

Установите/подсказку свойства ContextMenu в StackPanel и его значение будет наследоваться дочерними элементами управления, то есть вы увидите ту же ContextMenu/подсказку при нажатии правой кнопки мыши или наведите курсор мыши на любом из дочерних элементов управления StackPanel в :

<ListView x:Name="lv"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <StackPanel> 
       <StackPanel.ContextMenu> 
        <ContextMenu> 
         <MenuItem Header="..." /> 
        </ContextMenu> 
       </StackPanel.ContextMenu> 
       <StackPanel.ToolTip> 
        <ToolTip> 
         <TextBlock>Tooltip...</TextBlock> 
        </ToolTip> 
       </StackPanel.ToolTip> 
       <Button Content="Button"/> 
       <TextBlock Text="..." /> 
       <ComboBox> 
        <ComboBoxItem>1</ComboBoxItem> 
        <ComboBoxItem>2</ComboBoxItem> 
        <ComboBoxItem>3</ComboBoxItem> 
       </ComboBox> 
      </StackPanel> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView>