Добавить пользовательский элемент управления на страницу в Windows Phone

У меня есть приложение для Windows Phone, и мне нужно добавить пользовательский элемент управления на одну из его страниц. Я хочу добавить его как на странице asp.net, а не как всплывающее окно. Как я могу добавить этот пользовательский элемент управления на страницу?


person Nelson T Joseph    schedule 18.06.2012    source источник


Ответы (2)


Предполагая, что ваш UserControl имеет формат чего-то вроде:

<UserControl x:Class="UserControlExample.NameReporter"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >

<!-- Controls here -->

</UserControl>

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

using System.Text;
using System.Windows;
using System.Windows.Controls;

namespace UserControlExample
{
    public partial class NameReporter : UserControl
    {
        public NameReporter()
        {
            InitializeComponent();
        }

        // your custom methods here
    }
}

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

<Grid xmlns:src="clr-namespace:UserControlExample" 
        Background="White" Margin="0,50,0,0">
  <Grid.RowDefinitions>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="Auto"/>
  </Grid.RowDefinitions>
  <src:NameReporter Grid.Row="0"/>
  <src:NameReporter Grid.Row="1" Margin="0,15,0,0"/>
</Grid>

Просто измените пространство имен после clr-namespace: и имя элемента управления после src:

Вместо этого вы можете поместить тег xmlns: в тег <phone:PhoneApplicationPage>, чтобы использовать элемент управления во всей форме (а не только в сетке), и вы можете изменить src на то, что вы хотите называть.

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

См. ссылку для более полного примера.

Использованная литература:

http://msdn.microsoft.com/en-us/library/system.windows.controls.usercontrol%28v=VS.95%29.aspx

person Graham Wager    schedule 18.06.2012

Для Windows Phone 8 и Windows Phone 8.1 мне удалось добиться этого, выполнив следующие действия:

Создайте свой пользовательский элемент управления. В этом примере я создал несколько прямоугольников, имитирующих классическую кнопку мобильного меню.

Ваш пользовательский контроль

Создать решение. Проект обновится, и теперь вы увидите свой пользовательский элемент управления на панели инструментов.

Панель инструментов

Просто перетащите пользовательский элемент управления из панели инструментов на страницу XAML, где вы хотите использовать пользовательский элемент управления.

UserControl используется

person Herb Meehan    schedule 29.07.2014