Silverlight без XAML

ОГЛАВЛЕНИЕ

Silverlight великолепен, позволяет многое делать с помощью шаблонов и пользовательских управляющих элементов. Но что если надо создать игру или просто классную демонстрацию со снегом для праздников?

•    Скачать исходники - 4.96 Кб

Зачем тогда нужен XAML? Следует избавиться от него.

Создание нового проекта Silverlight

Начните с создания нового проекта Silverlight привычным образом. Нажмите на Файл->Новый->Проект... в меню, или нажмите Ctrl+Shift+N.

Выберите приложение Silverlight из типов проекта Silverlight и дайте ему забавное имя, например, SilverlightWithoutXaml. И нажмите кнопку OK.

Можно создать динамический управляемый данными веб-проект ASP.NET MVC для размещения чудесной игры Silverlight, но для простоты статьи выбирается опция "Сгенерировать автоматически" из диалогового окна.

Удаление XAML

Теперь подождите секунду, чтобы дать Visual Studio создать файлы XAML, которые будут удалены через несколько мгновений... Visual Studio показывает проект, как на рисунке ниже. Сейчас просто удалите оба файла XAML. Файлы .cs удалятся автоматически.

Исключая некоторые конфигурации и сгенерированные файлы, теперь проект пустой. Поскольку Silverlight без кода не делает ничего, будет добавлен новый класс. Щелкните правой кнопкой мыши по проекту и перейдите к Добавить->Класс... Можно назвать его как угодно, к примеру, WithoutXamlApp.   

Silverlight  нужно место для запуска приложения. Следовательно, только что добавленный в решение класс должен порождаться от System.Windows.Application.

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;
using System.Windows.Threading;
using System.Collections.Generic;

namespace SilverlightWithoutXaml
{
    public class WithoutXamlApp : Application
    {
   
    }
}

Далее надо добавить файл HTML, вмещающий управляющий элемент Silverlight. Добавьте файл HTML таким же путем, как только что добавили класс. Щелкните правой кнопкой мыши по проекту и Добавить->Новый элемент... Выберите шаблон HTML-файла и назовите его StartPage.htm или как вам удобно. Добавьте следующее в тело файла HTML:

<object id="ID" type="application/x-silverlight-2" width="600" height="400">
    <param name="source" value="bin/debug/SilverlightWithoutXaml.xap" />
    <param name="background" value="#00000000" />
</object>