Liaison à la propriété statique dans la classe statique dans WPF
J'ai un problème avec la liaison de valeurs de propriétés statiques de classe statique.
Ma classe:
namespace MyNamespace.Data
{
public static class MySettings
{
public static Color BackgroundColor { get; set; }
public static Color FontColor { get; set; }
}
}
XAML:
<Page ...
xmlns:colors="clr-namespace:MyNamespace.Data"
...>
...
<Button Grid.Column="0" Content="Text"
Background="{Binding Source={x:Static s:MySettings.BackgroundColor}}"
Foreground="{Binding Source={x:Static s:MySettings.FontColor}}"
BorderBrush="{Binding Source={x:Static s:MySettings.FontColor}}"/>
et lorsque j'exécute ce code d'arrière-plan est OK, mais le reste est inchangé..
OriginalL'auteur user3182398 | 2014-01-10
Vous devez vous connecter pour publier un commentaire.
Problème, c'est que votre source de propriétés sont d'une
Couleur
type et de la destination propriétés sontPinceau
. Vous pouvez créerSolidColorBrush
à l'aide de votre couleur de la sorte:OriginalL'auteur dkozl
Vous n'avez pas besoin d'utiliser
static
propriétés... vous pouvez déclarer une classe à l'aide de laSingleton
modèle, donc il ne peut être un exemple, juste comme unstatic
classe. Juste normal d'utilisation depublic
propriétés CLR dans cette classe... quelque chose comme ça (mais avec des propriétés):Alors seulement référence à partir d'une vue de la base du modèle à l'aide de la
Instance
propriété comme cela:Ensuite, vous pouvez accéder aux propriétés de l'INTERFACE utilisateur, simplement, comme ceci::
"Source={...
dans leBinding
de balisage?OriginalL'auteur Sheridan