Использование предварительного просмотра для разработчиков Windows 8 Я пытаюсь использовать простой пользовательский элемент управления, созданный с использованием встроенного шаблона стиля Windows Metro. Пока еще не удалось заставить мое приложение разрешить ссылку на элемент управления, даже если оно находится в том же проекте и пространстве имен, что и страница, ссылающаяся на него. Я просто получил «Тип не был найден» Я просмотрел образцы «Сборка» и не смог найти образец проекта C#, который использует пользовательский элемент управления. Кто-нибудь знает, где я могу его найти?Windows 8 User Controls Образец
ответ
Проверить http://asyncui.codeplex.com/SourceControl/changeset/view/7969#139603
Вы можете создать UserControl
щелкнув правой кнопкой мыши проект и выбрав пункт Add/New Item (Ctrl + Shift + A) и выберите пункт "Управление пользователя" из списка шаблонов элементов. Затем вы называете его, и в конечном итоге с XAML, которые вы можете изменить, чтобы добавить больше пользовательского интерфейса, как здесь:
<UserControl
x:Class="Xyzzer.AsyncUI.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="768"
d:DesignWidth="1366">
<Grid
x:Name="LayoutRoot"
Background="#FF0C0C0C">
<Grid
VerticalAlignment="Top"
Height="140">
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="120" />
<ColumnDefinition
Width="*" />
</Grid.ColumnDefinitions>
<Button
x:Name="BackButton"
IsEnabled="False" />
<TextBlock
x:Name="PageTitle"
Text="Some Page!"
Grid.Column="1" />
</Grid>
</Grid>
</UserControl>
и код позади, как это:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Windows.Foundation;
using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Data;
namespace Xyzzer.AsyncUI
{
partial class MainPage
{
public MainPage()
{
InitializeComponent();
}
}
}
Вы можете использовать этот контроль в другом месте в XAML как это:
<xa:MainPage
xmlns:xa="using:Xyzzer.AsyncUI" />
Даже если пользователь управления находится в том же пространстве имен, вам придется объявить пространство имен, чтобы использовать его в XAML. Попробуйте добавить атрибут к вашему элементу страницы
xmlns:uc="YourApplication.Namepace"
и префикс для элемента управления XAML
<uc:YourUserControl />.
Убедитесь, что ваш проект строит, когда вы не ссылки на пользовательский элемент управления. Ошибка в пользовательском управлении вызовет именно эту проблему.
Если вы используете шаблон проекта по умолчанию для приложения metro, пространство имен страницы обычно называется локальным, оно уже находится на новой странице, созданной из шаблона, как показано ниже.
xmlns:local="using:App1"
Обратите внимание: «Использование:» - новый синтаксис в приложении метро.
Таким образом, вы можете ссылаться на свой пользовательский элемент управления, как
<local:MyUserControl1/>
Если перетащить MyUserControl из панели инструментов дизайнера XAML, все это автоматически. Вам не нужно писать код для этого.
, пожалуйста, добавьте информацию в этот ответ, чтобы было легче понять. Для меня сравнение с предыдущей версией не выделяет никаких изменений. – Morothar
Оригинальный плакат спросил о примерной реализации UserControl, и я связался с тем, что, казалось, удовлетворяло его в то время. Однако я могу добавить более подробную информацию. –
Спасибо за то, что потратили лишнее время! – Morothar