Ответ 1
Это случилось со мной, когда я писал расширение IE и хотел создать пользовательские элементы управления WPF. Поскольку проект не был первоначально проектом WPF, не было ссылки на System.Xaml, добавив, что эта ссылка исправила проблему.
Я пытаюсь создать ResourceDictionary
внутри проекта WPF UserControl Library. Когда я добавляю следующий стиль:
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="{StaticResource ResourceKey=GreyBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource ResourceKey=LightBlueBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource ResourceKey=OrangeBrush}"/>
</Trigger>
<EventTrigger RoutedEvent="Click">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Background.Color" To="{StaticResource ResourceKey=LightOrange}" Duration="0:0:.1"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
Я получаю сообщение об ошибке:
The type 'x:Type' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built.
Я объявляю x как:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Это работает, когда я создаю словарь ресурсов внутри проекта приложения WPF, но не внутри проекта библиотеки UserControl. Любая идея почему?
Это случилось со мной, когда я писал расширение IE и хотел создать пользовательские элементы управления WPF. Поскольку проект не был первоначально проектом WPF, не было ссылки на System.Xaml, добавив, что эта ссылка исправила проблему.
В моем проекте была такая же проблема. Я решил это, переключив Target Framework с .NET 3.0 на 4.0.
Я должен не согласиться, вот моя декальвация от UserControl, которая действительно работает.
<UserControl x:Class="RedGreenRefactor.View.TestResultsGraph"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Есть ли вероятность, что ошибка говорит вам, что именно не так? У вас есть все ссылки, которые вам нужны?
Создавая новое приложение WPF, я получаю следующее.
Вам не хватает root
<ResourceDictionary xmlns="..."
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
то есть где вы определяете x? Кроме того,
<Style TargetType="Button">
также работает.