Благодаря ответу Jeremy Lew и немного большему количеству игры вокруг, я выяснил, как удалить атрибуты пробела xmlns
: передача в пространстве имен корневого узла при создании любого дочернего узла Вы хотите не иметь префикс на. Используя пространство имен без префикса в корневых средствах, что необходимо использовать то же самое пространство имен на дочерних элементах для них к также не, имеют префиксы.
Фиксированный Код:
XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateElement("root", "whatever:name-space-1.0"));
xml.DocumentElement.AppendChild(xml.CreateElement("loner", "whatever:name-space-1.0"));
Console.WriteLine(xml.OuterXml);
Спасибо все ко всем Вашим ответам, которые привели меня в правильном направлении!
Вы можете детализировать, какие действия WPF используют время безотказной работы, с помощью средств профилирования производительности для WPF . Предполагая, что большая графическая нагрузка вызывает замедление, это должно помочь вам в том, что может потребоваться упростить (например, макеты) или удалить (например, эффекты растровых изображений (это классический убийца производительности, хотя я не хочу предвосхищать Ваш профайл!)).
Если это WPF вызывает замедление
Скорее всего, нет;)
Гораздо более вероятно, что это ваш код , который вызывает замедление. WPF - это мощный инструмент, но вы должны понимать основные концепции, чтобы он работал хорошо ... Вы должны посмотреть это видео из сеанса PDC, в нем содержится множество советов о том, как сделать свой WPF приложение быстрее
Производительность WPF во многом зависит от качества видеокарты в машине. что процессор / память. Плохая видеокарта = плохая производительность WPF.
Ну, это длинный план : когда я установил VSTS 2010 (и он использует WPF), он был очень медленным на сервере Windows 2008 с достаточным количеством ЦП / памяти и очень быстрым в более скромном ноутбуке. Нам удалось отключить аппаратное ускорение, и на этой машине оно стало заметно быстрее.
Возможно, вы захотите попробовать эту конфигурацию, поскольку она очень проста: Исправление производительности редактора Visual Studio 2010 Beta 2, работающее на виртуальной машине
Преобразуйте векторные изображения кнопок XAML в прозрачные изображения PNG. Путь и фигуры очень тяжело визуализировать, вычислять и изменять размер. В большинстве случаев после развертывания изображения никогда не меняются. Лучше сделать их растровыми, а не векторными, если вы не хотите выполнять плавную анимацию изменения формы, размера или других атрибутов.
Сетки - очень дорогие менеджеры компоновки по сравнению с Canvas, DockPanel. Вы, конечно, можете иногда подумать о замене определенных сеток на DockPanel, но да, это непростое решение, требующее много мозгового штурма.
Избегайте Panel с Single Child. Постарайтесь уменьшить визуальную иерархию.
Используйте больше фиксированного размера для кнопок и таких небольших элементов, если вы укажете фиксированные размеры дочерних элементов, для панелей станет легко выполнять обработку макета.