Вопрос

Я экспериментировал с WPF и отображал строгую разметку XAML в веб-браузере, также известную как свободный XAML (объясняется здесь и здесь).

Мне кажется, что он наиболее полезен для отображения статического контента.Однако также представляется возможным выполнить привязку к поставщику данных XML.

Свободные файлы XAML не компилируются с приложением, что создает следующие ограничения:

  • Они не допускают внешних сборок
  • Никакого использования классов, кода программной части (или любого C#)
  • Нет двусторонней привязки данных

Какие дополнительные ограничения существуют?

  • Я не нашел способа привязки данных к поставщику базы данных (SQL Server).
  • Требуется ли .NET Framework на клиентском компьютере для отображения XAML в браузере?
  • Могут ли поисковые системы допросить свободный XAML, чтобы надлежащим образом ранжировать страницы?

РЕДАКТИРОВАТЬ:Я попытался связать поставщика данных XML с веб-службой (используя этот простой пример) и не увенчались успехом.Эти результаты привели меня к дальнейшим исследованиям, в ходе которых я обнаружил, что это не поддерживается:«Xmldataprovider предназначен для чтения только для чтения (другими словами, он не дает возможности совершать изменения) и не может иметь дело с данными XML, которые могут исходить из других источников (например, запись базы данных , сообщение веб -службы и т. Д.) ». -Матфея Макдональд, Профессиональный WPF

Это было полезно?

Решение

AFAIK невозможно определить строку подключения в XAML.Таким образом, вы не можете получить доступ к своей базе данных SQL.

Примечание:Однако можно привязать данные к веб-сервису с помощью XmlDataProvider.Так что это может быть способ отправить ваши данные через...

Редактировать:кстати, я нашел это список функций изолированной среды, в котором работает ваше приложение при использовании XBAP и свободном XAML.это немного устарело, но, вероятно, большинство ограничений все еще применяются.

Другие советы

Для просмотра отдельных страниц XAML в IE требуется платформа не ниже 3.0.Вы даже можете проверить его на своем сайте, выполнив поиск «.NET CLR 3.0» в строке пользовательского агента.

Соединение с базой данных, если оно вообще возможно, не будет осуществляться непосредственно в свободном XAML из-за необходимости в процедурном коде для открытия соединения.

Я проделал большую работу по размещению среды выполнения динамического языка (DLR) и внедрению сценариев в XAML.Сейчас я чувствую, что Loose XAML не является гражданином второго сорта, поскольку я могу обрабатывать события, писать преобразователи значений, запускать Python/Ruby/JScript для таких вещей, как подключение к SQL-серверу.

Смотри мой блог чтобы понять, подходит ли вам это направление.

Я динамически загружаю сборки, используя прикрепленное свойство — после загрузки вы можете ссылаться на классы в сборке обычным способом.

Итак, ответьте на вопрос: существует МНОГИЕ ограничения Loose XAML из коробки (например, невозможность перенаправить событие в обработчик событий), но их можно преодолеть, приложив немного усилий.

Я использовал XAML/WPF только для настольных приложений.Надеюсь, кто-то еще ответит на ваши вопросы, касающиеся конкретного браузера.

У меня есть библиотека, которую я использую в коммерческой работе по размещению DLR и внедрению сценариев DLR в XAML, которую я намеревался превратить в поддерживаемый продукт.Если вам это будет интересно, обязательно дайте мне знать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top