2009-04-14 8 views
0

J'ai essayé de spécifier une dimension en pixels en tant que ressource, donc je peux l'utiliser à plusieurs endroits dans mon interface utilisateur. par exemple.Puis-je spécifier une dimension dans les unités 'pixel', en tant que ressource (WPF)?

... 
<ResourceDictionary 
    xmlns:System="clr-namespace:System;assembly=mscorlib"> 
    <System:Double x:Key="a-width">140px</System:Double> 
</ResourceDictionary 
... 
<TextBlock 
    Width="{StaticResource a-width}" 
    Text="this TextBlock is a-width wide"/> 
... 

Cependant, cela ne fonctionne pas. Bien que Width soit de type 'double', vous ne pouvez pas spécifier la valeur d'un double en utilisant le suffixe 'px', car ce format est supporté par le LengthConverter, qui est le TypeConverter pour la propriété FrameworkElement.Width.

Existe-t-il un moyen de spécifier une largeur au format 'Npx' en tant que ressource?

Répondre

2

px() est DIPs la valeur par défaut, vous pouvez donc il suffit de spécifier la valeur double avec le suffixe 'px':

<ResourceDictionary 
    xmlns:System="clr-namespace:System;assembly=mscorlib"> 
    <System:Double x:Key="a-width">140</System:Double> 
</ResourceDictionary 
... 
<TextBlock 
    Width="{StaticResource a-width}" 
    Text="this TextBlock is a-width wide"/> 
Questions connexes