Как сделать свободные XAML содержимое в курсе пользовательских элементов управления
-
27-09-2019 - |
Вопрос
У меня есть свободный файл XAML ...
<Style
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyNamespace"
TargetType="{x:Type local:CustomControl}">
<Setter Property="HoverOpacity" Value="1.0"/>
</Style>
... что я хочу загрузить во время выполнения. Когда я получаю, я получаю заявку исключения, «Ссылка типа не может найти тип общего типа с именем« CustomControl ». Как я могу сделать свободный XAML знать о моем пространстве имен?
Мне нужно использовать HoverOpacity
который является собственностью зависимости CustomControl
. Отказ Вот код, который я в настоящее время использую для загрузки XAML:
var resource = Application.GetResourceStream(new Uri("pack://application:,,,/Assets/HoverStyle.xaml"));
XamlReader.Load(resource.Stream);
Кстати, я понимаю, что XAML прост, и я мог просто вставить Style
в коде, но это Hello World XAML; Это станет намного более сложным, связанным с анимацией и такими.
PS Другое решение было бы способом прикрепления файла XAML к пользовательскому элементу управления, полученным из панели (один, который не хватает Visual Studio 2008), либо путем легко прикрепления триггеров, триггеров данных, входных действий и выходных действий и выходных действий на пользовательские элементы управления.
Решение
Гоша дарн это, я понял это. Мне нужно было указать имя сборки с пространством имен; вот так:
<Style
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyNamespace;assembly=MyAssembly"
TargetType="{x:Type local:CustomControl}">
<Setter Property="HoverOpacity" Value="1.0"/>
</Style>
Я дам ответ на ответ всем, кто мог бы ответить на мой вопрос «PS» в течение следующих двух дней. Эта вся эта ситуация кажется немного мокрым, поэтому я был бы действительно заинтересован в альтернативах.
Спасибо :)