Есть ли способ поставить галочку рядом с контекстным меню в wp7 / silverlight? - PullRequest
0 голосов
/ 17 декабря 2011

У меня есть несколько MenuItem внутри ContextMenu в моем приложении wp7 с использованием silverlight. В конкретном сценарии мне нужно поставить галочку рядом с одним из пунктов.

Есть ли способ сделать это?

Я бы согласился добавить элемент управления Image справа от него, если бы мне пришлось.

Я даже пытался сделать это:

CheckBox box = new CheckBox();
menuItem.Items.Add(box);

но получил исключение NotImplementedException.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 03 января 2012

Я нашел простой способ заставить это работать.Я связал текстовое свойство заголовка пункта меню в xaml со строковым свойством, которое добавляет символ галочки Unicode (0x2714), если установлен флаг.

<toolkit:MenuItem 
      Header="{Binding InvertedCommandHeader}"              
      Click="onCommandInvert"
/>

Я определил свойства зависимости в моем объекте контекста данных следующим образом:

public const string InvertedPropertyTag = "Inverted";
public static readonly DependencyProperty InvertedProperty =
    DependencyProperty.Register(
        InvertedPropertyTag,
        typeof(bool),
        typeof(MyData),
        new PropertyMetadata(false));
public bool Inverted
{
  get
  {
    return (bool)GetValue(InvertedProperty);
  }
  set
  {
    SetValue(InvertedProperty, value);

    InvertedCommandHeader = value ?
      Strings.IDST_MENUITEM_INVERTED + "  \u2714" :
      Strings.IDST_MENUITEM_INVERTED;
  }
}

public const string InvertedCommandHeaderPropertyTag = "InvertedCommandHeader";
public static readonly DependencyProperty InvertedCommandHeaderProperty =
    DependencyProperty.Register(
        InvertedCommandHeaderPropertyTag,
        typeof(string),
        typeof(MyData),
        new PropertyMetadata(
          Strings.IDST_MENUITEM_INVERTED));
public string InvertedCommandHeader
{
  get
  {
    return (string)GetValue(InvertedCommandHeaderProperty);
  }
  set
  {
    SetValue(InvertedCommandHeaderProperty, value);
  }
}

Когда выбран элемент меню, я переключаю свойство галочки.

0 голосов
/ 17 декабря 2011

Вы можете добавить список в контекстное меню, а затем добавить флажок в список. Я не реализовал, но вы можете попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...