Установка Window.Content не разрушает интерфейс, который был там раньше? - PullRequest
3 голосов
/ 27 мая 2009

Я загружаю XAML-файл с помощью XamlReader и устанавливаю возвращаемый объект в свойстве Content окна. Хотя это, кажется, работает хорошо, это не совсем то, что я ожидаю. Если исходный XAML окна содержит сочетания клавиш или кнопки, они все еще существуют. Привязки клавиш все еще работают, и любые объекты Button в коде все еще действительны. Я ожидал бы, что все будет уничтожено, так как я заменил их новым XAML, но это не так.

Так что же делает настройка Content? Что это не делает?

Спасибо!

1 Ответ

1 голос
/ 28 мая 2009

Изменяя свойство Content, вы просто переключаете объект, который представляет содержимое окна, все дерево элементов будет поддерживаться, включая привязки. В WPF вы не можете явно расположить элемент управления, потому что нет ничего, что можно было бы удалить, я имею в виду, неуправляемые ресурсы для освобождения. Если позже не использовать эти элементы управления, GC очистит их. Для привязок клавиш вам придется удалять их программно, перебирая элементы управления окном или вызывая соответствующий очиститель команд приложения, например:

ApplicationCommands.Close.InputGestures.Clear();

Надеюсь, это поможет!

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