Изменить строку XAML динамически - PullRequest
0 голосов
/ 03 октября 2009

Я хочу добавить / удалить некоторую часть XAML динамически, то есть из кода позади файла в C #. Как добавить любую конкретную строку XAML в указанном месте (имеется в виду под некоторым тегом) из файла .cs. Пожалуйста помоги.

Ответы [ 2 ]

1 голос
/ 03 октября 2009

Что для вас подойдет изменение XAML?

Если вы просто хотите изменить внешний вид вашего приложения WPF (возможно, добавив еще немного контента в определенных местах), вам, скорее всего, будет легче сделать это, ссылаясь на рассматриваемые объекты. Поэтому, если вам нужно добавить текст к кнопке, назовите кнопку с именем x:Name="myButton" и в наборе кодов: myButton.Content = "Click Me"

XAML - это действительно технология построения иерархий объектов. Практически каждый элемент в XAML соответствует классу .NET CLR. При загрузке эти классы создаются и заполняются в соответствии с атрибутами, используемыми в XAML. После загрузки XAML завершил свою работу и, по сути, выгружен / недоступен.

Возможно, вам нужно сделать что-то помимо этого, но из вашего краткого вопроса это не похоже. Я просто работал бы над объектной моделью и оставил бы XAML.

1 голос
/ 03 октября 2009

XAML - это xml, вы можете использовать XmlReader и XmlWriter или любой другой механизм сериализации XML в .NET для записи / чтения XML (XMlDocument, вероятно, является лучшим подходом для модификации существующего xml). Также существуют классы XamlReader и XamlWriter, которые позволяют автоматически (де) сериализовать любой граф объектов из / в XAML. Если вы можете использовать .NET 4.0, у вас есть еще более тонкие возможности запретить XAML, поскольку у него есть новый стек XAML. Используйте this в качестве отправной точки.

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