Я создал прикрепленный Type
DependencyProperty
в своем проекте. Теперь при использовании его с типом, отличным от пространства имен по умолчанию, я получаю XamlParseException
с сообщением об ошибке Failed to create a 'System.Type' from the text 'local:SomeClass'.
. Использование, например, Button
или Grid
в качестве значения не приводит к исключению.
Классы для воспроизведения проблемы:
namespace TypePropertyTest
{
public class SomeClass
{ }
}
Класс, содержащий прикрепленный DP:
namespace TypePropertyTest
{
using System;
using Windows.UI.Xaml;
public static class TypeProperties
{
public static readonly DependencyProperty MyTypeProperty =
DependencyProperty.RegisterAttached(
"MyType",
typeof(Type),
typeof(TypeProperties),
new PropertyMetadata(null));
public static void SetMyType(DependencyObject d, Type type) => d.SetValue(MyTypeProperty, type);
public static Type GetMyType(DependencyObject d) => (Type)d.GetValue(MyTypeProperty);
}
}
MainPage.xaml:
<Page
x:Class="TypePropertyTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="using:TypePropertyTest"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid local:TypeProperties.MyType="local:SomeClass">
</Grid>
</Page>
Проект нацелен на версию 1803 (10.0; Build 17134)
с минимальной версией Fall Creators Update (10.0; Build 16299)
.