Как сделать свободные XAML содержимое в курсе пользовательских элементов управления

StackOverflow https://stackoverflow.com/questions/4250282

  •  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» в течение следующих двух дней. Эта вся эта ситуация кажется немного мокрым, поэтому я был бы действительно заинтересован в альтернативах.

Спасибо :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top