Member 11859517 Ответов: 1

Как получить заголовок contextmune при проверке значка контекстного меню в качестве переключателя, проверенного в WPF C#?


Я создаю контекстное меню программно в c# wpf, мои пункты контекстного меню-это установленный драйвер в моей системе. а значок contextmenu-это переключатель, когда я нажимаю на contextmenu headre, я могу включить соответствующий переключатель, например
RadioButton rb = menuItem.Icon as RadioButton;

           if (rb != null)
           {
               rb.IsChecked = true;}

он работает нормально, но если я проверил переключатель, я хочу соответствующее имя заголовка contextmenu, как я могу это сделать.?

Что я уже пробовал:

Я пытался это сделать
 radBtn.Checked += radBtn_Checked;
void radBtn_Checked(object sender, RoutedEventArgs e)
        {
            ?????
        }

как это сделать.
Заранее спасибо.

1 Ответов

Рейтинг:
12

Member 11859517

вот мое решение.

RadioButton rb = (RadioButton)e.Source;
DependencyObject o = rb;
MenuItem item = null;
do
{
   o = VisualTreeHelper.GetParent( o );
   if( o == null ) break;
   item = o as MenuItem;
} while( item == null );
string header = item?.Header as string;