2010-11-15 10 views
38

¿Es posible establecer un valor entero en los recursos de control de WPF?¿Un valor entero en recursos de WPF?

<UserControl.Resources> 

    <SolidColorBrush x:Key="MyLineBrush" Color="LightGreen" /> 

    ??? <Integer x:Key="MyStrokeThickness" Value="2" /> ??? 


    <Style TargetType="local:MyLine" x:Key="MyLineStyleKey">  

     <Setter Property="Stroke" 
      Value="{DynamicResource MyLineBrush}"/> 

     <Setter Property="StrokeThickness" 
      Value="{DynamicResource MyStrokeThickness}"/> 

    </Style> 

Con el fin de modificar dinámicamente los valores MyLineBrush y MyStrokeThickness ...

Respuesta

73

para hacer esa declaración es necesario importar el espacio de nombres System:

xmlns:sys="clr-namespace:System;assembly=mscorlib" 

...

<sys:Int32 x:Key="MyValue">1234</sys:Int32> 

Nota: necesitará usar un Double para la mayoría de las propiedades de WPF en lugar de un Int32

+0

Gracias, información muy útil =) – Bahamut

+3

Una palabra de precaución: VS2015 Comunidad no muestra 'Int32' en XAML intellisense si intentas usarlo en '{x: Static sys: Int32.MaxValue}}'. Sin embargo, se construye y funciona bien. (no lo han probado en otras versiones de VS) – dotNET

3

Para StrokeThickness debe ser

<system:Double x:Key="ThemeIconStrokeThickness">1</system:Double> 
Cuestiones relacionadas