У меня есть свободный файл 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
в код, но это привет мир XAML; это станет намного сложнее, включая анимацию и тому подобное.
P.S. Другим решением может быть способ присоединения файла XAML к пользовательскому элементу управления, производному от Panel (который не приводит к сбою Visual Studio 2008), или способ простого присоединения триггеров, триггеров данных, действий ввода и действий выхода к пользовательские элементы управления.