J'ai la situation où un SolidColorBrush (défini dans App.xaml) ne peut pas être résolu pendant l'exécution, lorsque j'utilise le pinceau dans un style comme StaticResource.StaticResource non trouvé
Pendant la conception (à l'aide de Visual Studio 2010), le pinceau est trouvé, car lorsque je change la couleur du pinceau, le UIElement avec les styles est mis à jour avec la nouvelle couleur.
Lors de l'exécution, une exception XAMLParseException est déclenchée, indiquant que la ressource "color" est introuvable.
Est-ce un comportement normal? Je pensais que la résolution de StaticResource, commence à partir des UIElements jusqu'aux ressources de l'application et que les ressources de l'application sont un bon endroit pour définir les valeurs par défaut (couleurs, polices, etc.) pour les UIElements de l'application.
App.xaml
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SilverlightApplication1.App"
>
<Application.Resources>
<ResourceDictionary>
<SolidColorBrush Color="Green" x:Key="color"/>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Styles.xaml
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="Border">
<Setter Property="BorderBrush" Value="{StaticResource color}" />
<Setter Property="BorderThickness" Value="1" />
</Style>
Main.xaml
<UserControl x:Class="SilverlightApplication1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
<Border Height="100" HorizontalAlignment="Left" Margin="130,146,0,0" Name="border1" VerticalAlignment="Top" Width="200" />
</Grid>
Avez-vous essayé d'ajouter le SolidColorBrush dans le Styles.xaml? –
@Ardman: Cela fonctionne. Mais ce n'est pas ce que je veux ici – Jehof