2013-09-01 6 views
0

Я пытаюсь добавить элемент в WPF-ContextMenu, который используется только для «описания» элементов ниже, но я не уверен, как добавить простую строку текста, прежде всего элементы, где текст выровнен по центру и текст не выбирается, как обычный MenuItem s.Добавить описательное MenuItem в WPF ContextMenu

Я пытался что-то вроде этого:

<ContextMenu Grid.Row="0" StaysOpen="False"> 
    <TextBlock Text="Add New:" IsEnabled="False" HorizontalAlignment="Center"/> 
    <MenuItem Header="one"/> 
    <MenuItem Header="two (horizontal)"/> 
    <MenuItem Header="two (vertical)"/> 
    <MenuItem Header="three"/> 
    <MenuItem Header="four"/> 
    <MenuItem Header="six"/> 
</ContextMenu> 

, но, к сожалению, TextBlock не является ни выровнен по центру, а также не неактивна. Проблема заключается в том, что с использованием MenuItem и задания IsEnabled -property на false текст больше не является черным, и я не могу его выравнивать по центру.

Надеюсь, кто-то может подумать о простом решении здесь, я просто ничего не мог найти.

ответ

2

Я предлагаю вам создать элементы SubMenu для элементов меню. Таким образом, пункты меню группируют все подменю под ним.

Я дал ответ, чтобы создать контекстное меню с помощью menuitem и подменю, используя mvvm. Здесь вы можете обратиться к нему.

WPF Context Menu with dropdown list showing hyperlinks

ИЛИ В случае вы упомянули. Я попытался это:

 <ContextMenu StaysOpen="False"> 
         <MenuItem Header="Add New:" IsEnabled="False" HorizontalAlignment="Center"> 
          <MenuItem.Style> 
           <Style TargetType="{x:Type MenuItem}"> 
            <Style.Triggers> 
             <Trigger Property="IsEnabled" Value="False"> 
              <Setter Property="Foreground" Value="Black"/> 
             </Trigger> 
            </Style.Triggers> 
           </Style> 

          </MenuItem.Style> 
         </MenuItem> 
         <MenuItem Header="one"/> 
         <MenuItem Header="two (horizontal)"/> 
         <MenuItem Header="two (vertical)"/> 
         <MenuItem Header="three"/> 
         <MenuItem Header="four"/> 
         <MenuItem Header="six"/> 
        </ContextMenu> 

и я получил меню, как enter image description here

Добавить новый: не является выбираемым, а также мыши над не выделить его.

Надеюсь, это поможет. Спасибо

+0

Спасибо за ответ, однако это не похоже на прямое решение моей проблемы. Я рассмотрю это решение, если описательная идея элемента не имеет работы. – phil13131

+0

Я также обновил ответ другим вариантом. Смотрите, помогает ли это вам. Спасибо – Nitin

+0

Теперь это хорошая идея, спасибо большое! – phil13131

Смежные вопросы