Как получить уведомление x:LoadC#

Место общения программистов C#
Ответить
Anonymous
 Как получить уведомление x:Load

Сообщение Anonymous »

На странице x:Load указано, что при загрузке отложенного элемента: «Если вы зарегистрировались для получения уведомлений об изменении свойств свойства, содержащего отложенный элемент(ы), уведомление создается».Но там также написано, что «Поле для x:Name установлено». И когда я просматриваю сгенерированный код, действительно, элемент XAML, имеющий x:Load и x:Name, объявляется как поле с указанным именем, а не как свойство зависимости. Конечно, я на самом деле использую WinUI, а не UWP. Тем не менее...
Я не понимаю, как меня можно уведомить об изменении значения поля или каким-либо другим способом получить уведомление о загрузке и выгрузке.
Другими словами, предположим, что у меня есть пользовательский элемент управления в WinUI, который содержит элемент управления с x:Load, например и я создаю логическое свойство зависимости с именем ToggleSwitchIsNeeded в пользовательском элементе управления. Как получить уведомление в пользовательском элементе управления, когда ToggleSwitch загружается или выгружается?
Я не могу зарегистрироваться для получения уведомлений о свойствах зависимостей по имени, поскольку имя скорее объявлено как поле чем как свойство зависимости. Я не могу зарегистрироваться для события загрузки (по крайней мере, в коде программной части, что мне и нужно сделать), поскольку у меня нет ссылки на загружаемый объект.
Я не думаю, что смогу явно загрузить объект, чтобы подписаться на его загруженные/выгруженные события, поскольку я привязываюсь к x:Load, поэтому может возникнуть конфликт между привязкой x:Load и явной загрузкой — чтобы предотвратить утечки памяти, мне нужно будет отписаться в выгрузке, что лишило бы цели.
Мысли по этому поводу? Как настроить в коде уведомления о загрузке и выгрузке или изменении свойств?
Ссылки на MS Learn: @mattwojo или @jwmsft

Подробнее здесь: https://stackoverflow.com/questions/793 ... tification
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»