Sto provando a creare un ResourceDictionary
all'interno di un progetto della libreria UserControl di WPF. Quando aggiungo il seguente stile:x: tipo non trovato nella libreria del controllo utente
<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>
ottengo un errore che dice:
The type 'x:Type' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built.
sto dichiarando x come:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Questo funziona quando creo un dizionario risorse all'interno di un Progetto di applicazione WPF, ma non all'interno di un progetto UserControl Library. Qualche idea del perché?
Non so perché sta accadendo, una soluzione è semplicemente rimuovere il testo {x: Type}, ad esempio 'TargetType =" Button "'. Lo stesso errore si verifica in Silverlight AFAIK. – Patrick
Ma non sempre succede. Almeno lo stile sopra funziona per me in un dizionario di risorse in un progetto di libreria di controllo utente WPF (.Net 4.0) appena creato. – Clemens
Utilizzo VS2012 Professional e creazione di una libreria di controllo utente .Net 3.5 WPF. – FlyingStreudel