Создание пользовательского интерфейса для приложений Windows 8.1 metro с использованием только c # без xaml

#c# #user-interface #windows-8.1

#c# #пользовательский интерфейс #windows-8.1

Вопрос:

Возможно ли для меня создать страницу в Windows 8.1, используя исключительно код c #.. Если да, то как это делается?

Я попробовал следующий код, который не удался:

 namespace App6
{
    class Login: Page
    {

        Grid grd;

        public Login()
        { 
            grd = new Grid();

            grd.Height = Window.Current.Bounds.Height;
            grd.Width = Window.Current.Bounds.Width;
            grd.Background = new Windows.UI.Xaml.Media.SolidColorBrush(Windows.UI.Color.FromArgb(255,255, 255, 217));
        }
    }
}
  

Затем я попытался перейти на эту страницу, используя это.Фрейм.Перейдите (typeof(Login)) с главной страницы, но это приводит к сбою системы.Исключение TypeLoadException, сообщающее, что не удалось найти тип среды выполнения Windows Windows.Foundation

Как правильно создать страницу, созданную с использованием только c #, и перейти к ней?

Комментарии:

1. Вы могли бы (XAML основан на .NET types), но мой вопрос был бы: почему? На мой взгляд, это действительно плохая идея. У вас нет поддержки дизайнера, создание анимации — это ужас, изменение дизайна позже практически невозможно (в зависимости от сложности вашего пользовательского интерфейса) и т.д.

2. У меня есть требование, согласно которому я должен предоставлять страницу xaml как часть библиотеки классов. Но он не включает страницы .xaml как часть . dll-файл. Поэтому мне приходится доставлять файл .xaml отдельно как компонент, что неприемлемо. Я предполагаю, что если я напишу пользовательский интерфейс на чистом c #, их можно будет включить. dll без предоставления какого-либо кода пользователю.

3. Вы можете добавлять страницы XAML в библиотеки классов, вам просто нужно создать библиотеку пользовательского управления WPF. Затем он будет встроен в dll, и вы сможете доставлять его как dll.

4. Я пытался создать библиотеку UserControl, но по-прежнему выдает исключение XamlParseException… Та же ошибка, что и при использовании обычной страницы xaml в .dll.

5. Можете ли вы дать мне какую-нибудь ссылку, где показано, как создать целый класс страницы, используя только C #.. Мне удалось создать пользовательский интерфейс, но я не могу выполнить навигацию, поскольку фрейм равен null.