У меня есть этот класс:
public class EditorKey
{
public Type TargetType { get; set; }
public DataTemplate Template { get; set; }
}
Теперь я хочу создать экземпляр этого класса в XAML. Поскольку в UWP у нас нет расширения разметки x:Type, я указываю тип непосредственно в виде строки с правильным префиксом TargetType="model:Customer"
.
<Page
x:Class="App8.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:model="using:App8"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<ContentControl>
<model:EditorKey TargetType="model:Customer" />
</ContentControl>
</Page>
Запустив это, я получаю исключение времени выполнения:
Не удалось создать «App8.EditorKey» из текста «модель: клиент».
Как я могу сопоставить строку с фактическим типом?
model
XML, вы делаете это, добавляяxmlns:model="using:Namespace.Of.Your.Model"
к (обычно) корневому элементу XAML. - person Marian Dolinský   schedule 18.11.2017Namespace.Of.Your.Model.Customer
(классическое полное имя типа C#) вместо использования пространства имен XML? Это работает? - person Marian Dolinský   schedule 19.11.2017