Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
3 / 3 / 2
Регистрация: 20.11.2009
Сообщений: 47

[SL] ContextMenu. Как уничтожить?

15.01.2011, 18:44. Показов 1881. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
После вызова меню память увеличивается
Как удалить контекстное меню?

XML
1
2
3
4
5
    <Grid x:Name="LayoutRoot" Background="White" ShowGridLines="True">
        <StackPanel>
            <Button Content="push me" x:Name="_Button" Click="_Button_Click" />
        </StackPanel>
    </Grid>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Windows;
using System.Windows.Controls;
 
namespace SilverlightApplication1
{
    public partial class MainPage
    {
        WeakReference refMenu;
 
        public MainPage()
        {
            InitializeComponent();
            MouseRightButtonDown += (o, args) => args.Handled = true;
            MouseLeftButtonDown += (o, args) => {
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
            };
            MouseRightButtonUp += new System.Windows.Input.MouseButtonEventHandler(MainPage_MouseRightButtonUp);
        }
 
        void MainPage_MouseRightButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            ContextMenu cMenu;
            refMenu = new WeakReference(cMenu = new ContextMenu { VerticalOffset = e.GetPosition(null).Y, HorizontalOffset = e.GetPosition(null).X });
            cMenu.Items.Add("1");
            cMenu.Items.Add("2");
            cMenu.Items.Add("3");
            cMenu.Items.Add("1");
            cMenu.Items.Add("2");
            cMenu.Items.Add("3");
            cMenu.Items.Add("1");
            cMenu.Items.Add("2");
            cMenu.Items.Add("3");
            cMenu.IsOpen = true;
        }
 
        private void _Button_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (refMenu != null)
                MessageBox.Show(refMenu.IsAlive ? "Alive" : "Destroy");
        }
    }
}
Вот сам проект
Вложения
Тип файла: 7z SilverlightApplication1.7z (4.88 Мб, 11 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.01.2011, 18:44
Ответы с готовыми решениями:

Как объединить несколько ContextMenu?
Приветствую! Есть окно, у окна ContextMenu. В окне есть кнопка, у которой тоже ContextMenu. При вызове ContextMenu у кнопки должно...

Как сделать свое ContextMenu как у Steam
Здравствуйте, я пишу приложение на WPF, которое должно вывести собственный прицел по центру экрана.Все хорошо, но хочется сделать для...

Как уничтожить экземпляр класса (объект)?
Я столкнул с такой проблемой. Я не могу понять как удалять объекты класса(экземляры). Читая интернет я вижу что &quot;мусорщик&quot; должен...

1
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
16.01.2011, 12:42
Такая же беда. Но после вызова окна. Если жать кнопку: "Создать", потом сразу закрывать окно и так минуты 2, то приложение уже хавает 90 мегабайт и вызовы сборщика мусора никак не помогают. Только у меня WPF. Всё делаю правильно, да и не правильно помоему не возможно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.01.2011, 12:42
Помогаю со студенческими работами здесь

Как установить иконки в ContextMenu
Вообщем тут такая история пытаюсь прикрепить иконку(картинку) в меню ContextMenu но свойства там этого просто нет, конечно я бы использовал...

Как уничтожить поток?
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Threads.MyThreads.Free;//Не канает. пишит _...

Как уничтожить форму?
В программе две формы. По нажатию кнопки на первой открывается вторая. На второй форме есть достаточно большое количество компонентов,...

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

Как уничтожить форму?
У меня тестирующая программа и во время прохождения теста в меню можно выбрать &quot;Перезапустить тест&quot;. То есть форму с тестом нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru