Спрашивающий
Добавление пользовательского элемента управления в дизайнтайме

Общие обсуждения
-
Здравствуйте.
Создал пользовательский элемент управления. Без проблем создаю его в конструкторе главной страницы. Дальше в коде на шарпе тоже проблем нет. Захотелось создать его в коде страницы на xaml. И тут 2 проблемы:
1. Указываю пространство имён компонента, прописываю в гриде и узнаю, что студия его не видит.
2. Через Сервис->Выбрать элементы панели элементов добавил его на панель элементов, всё добавилось. Но когда кидаю его на форму, ловлю "Не удается создать экземпляр".
Думал, что с компонентом беда, создал новый (простой грид красного цвета). Та же история.
- Изменен тип Maksim MarinovMicrosoft contingent staff 1 июля 2014 г. 9:10 Тема неактивна
13 июня 2014 г. 21:11
Все ответы
-
Код нужен, покажите xaml14 июня 2014 г. 15:55
-
хамл компонента:
<UserControl x:Class="TestCompona.UC1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:TestCompona" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignHeight="100" d:DesignWidth="500"> <Grid Background="Red"> </Grid></UserControl>
хамл страницы
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:App1" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:TestCompona="using:TestCompona" x:Class="App1.MainPage" mc:Ignorable="d" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Grid> <TestCompona:UC1 Name="Va"/> </Grid> </Page>
Студия 2013 (для 2012 стековерфлоу и мсдн упорно шлют на страницу с описанием бага студии)
14 июня 2014 г. 18:01 -
У Вас пользовательский элемент находится в пространстве имен TestCompona? То вроде все правильно, попробуйте префиксу пространства имен дать другое имя, например:
... xmlns:mycontrol="using:TestCompona" ... ... <mycontrol:UC1 x:Name="Va"/> ...
15 июня 2014 г. 8:12 -
Смущает строка:
... xmlns:local="using:App1" ...
Может у Вас контрол в пространстве имен App1, тогда можно описывать так:
... <local:UC1 x:Name="Va"/> ...
Короче, откройте cs файл контрола, там видно в каком пространстве имен находится контрол, и на странице пишите:... xmlns:mycontrol="using:MyControlNamespace" ... ... <mycontrol:UC1 x:Name="Va"/> ...
15 июня 2014 г. 8:20 -
С пространствами имен всё должно быть верно. Проблема не в том, что студия не видит контрол, а в том, что "Не удалось создать экземпляр UC1" XAML parsing failed
15 июня 2014 г. 10:45 -
Попробуйте создать новый проект и провернуть все это в нем. Если проблема повторится, то вы что то не так делаете, если проблем не будет, то косяк закрался где то в проекте. Такое иногда бывает, если переименовывать проект или пространства имен, не на начальном этапе.
VB.Net - WPF, WinRT, WP
15 июня 2014 г. 10:52 -
Так и сделано, чуть выше xaml свежесозданых компонента и страницы.15 июня 2014 г. 12:09
-
Так и сделано, чуть выше xaml свежесозданых компонента и страницы.
Тогда выложите этот проект на любой файлообменник, что бы можно было понять в чем ваша ошибка. А может это глюк студии если на других машинах все пройдет без проблем.VB.Net - WPF, WinRT, WP
15 июня 2014 г. 12:13