Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ContextMenu owner, какое ContextMenu вызвало событие 
:(
    Опции темы
SeregaS
Дата 1.4.2009, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 28.3.2009

Репутация: нет
Всего: нет



есть множество контектсных меню привязанных к  колонкам (Header ) DataGrida
при клике на одинаковых пунктах они вызывают однинаковые события
само контекстное меню привязывается в коде 

columnHeader.ContextMenu = new ContextMenu();

аргумент события (Sender)  возвращает ссылку на пункт меню  
по нему я нахожу само контекстное меню 
,но вот дальше как найти  columnHeader  к которому меню было привязано ??

 ни каких подходящий свойств у ContextMenu не нахожу 



PM MAIL   Вверх
Idsa
Дата 1.4.2009, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 2
Всего: 62





--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
SeregaS
  Дата 1.4.2009, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 28.3.2009

Репутация: нет
Всего: нет



Толку в такой функции нет 
я так же точно искал родителя и без нее 
не находится родитель таким образом 
PM MAIL   Вверх
Idsa
Дата 1.4.2009, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 2
Всего: 62



Приложите тестовое приложение, в котором можно было бы увидеть, что 
Цитата(SeregaS @  1.4.2009,  22:44 Найти цитируемый пост)
не находится родитель таким образом  


А еще неплохо было бы указать, какой грид используется: Xceed, WPF, DevExpress и т. д.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
SeregaS
Дата 1.4.2009, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 28.3.2009

Репутация: нет
Всего: нет



грид обычный WPF 
Это не имеет значения 
суть в том что бы Найти элемент у которого Контекст меню "хостится"

PM MAIL   Вверх
SeregaS
Дата 2.4.2009, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 28.3.2009

Репутация: нет
Всего: нет



вот так надо, но вобще говоря странно что у ContextMenu нет такого свойства 
и приходится это искать!!!
  smile 
Код

public override void EndInit()
        {
            base.EndInit();
            for (int i = 0; i < 10; i++)
            {
                TextBlock BT = new TextBlock();
                BT.Text = "text Block " + i.ToString();


                MenuItem mi = new MenuItem();
                mi.Click += new RoutedEventHandler(mi_Click);
                BT.ContextMenu = new ContextMenu();
                mi.Header = "mi.Header " + i.ToString();
                BT.ContextMenu.Items.Add(mi);

                ST.Children.Add(BT);
            }
        }

        void mi_Click(object sender, RoutedEventArgs e)
        {
            TextBlock c = ((sender as FrameworkElement).Parent as ContextMenu).PlacementTarget as TextBlock;
            MessageBox.Show(c.Text);

        }


Код

<Window x:Class="TestContextMenu.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <StackPanel x:Name="ST"> </StackPanel>

   
</Window>


Добавлено через 11 минут и 55 секунд
тьфу    .PlacementTarget  Свойство ContextMenu Которое указывает на родительский элемент     smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0575 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.