serhio
serhio

Reputation: 28586

An integer value in WPF Resources?

Is that possible to set an integer value in WPF control Resources?!

<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>

In order to modify dynamically the MyLineBrush and MyStrokeThickness values...

Upvotes: 53

Views: 32711

Answers (3)

Andy Braham
Andy Braham

Reputation: 10171

Looks like the Assembly has changed updated for 2020:

xmlns:sys="clr-namespace:System;assembly=System.Runtime"

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

Upvotes: 4

Sathya Ram
Sathya Ram

Reputation: 581

For StrokeThickness it should be

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

Upvotes: 7

Steve Greatrex
Steve Greatrex

Reputation: 15999

To make that declaration you need to import the System namespace:

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

...

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

Note: you will need to use a Double for most WPF properties instead of an Int32

Upvotes: 121

Related Questions