Доступ к переменной в коде из ресурсов в UserControl - PullRequest
0 голосов
/ 16 мая 2011

У меня следующая проблема: Я хочу получить доступ к одному из этих трех переменных, определенных в XAML Resource

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="../../Themes/MainStyle.xaml" />
        </ResourceDictionary.MergedDictionaries>
        <System:Int32 x:Key="maxVal">500</System:Int32>
        <System:Int32 x:Key="minVal">250</System:Int32>
        <System:Int32 x:Key="actualWidth">250</System:Int32>
    </ResourceDictionary>
</UserControl.Resources>

Я хочу получить доступ к значению «actualWidth» из файла Codebehind, например:

private void MinMaxGraphicsMessageSink(bool minmax)
{
   actualWidth = minmax ? 900 : 300;
}

Но это не работает. Может кто-нибудь помочь?

Ответы [ 3 ]

4 голосов
/ 16 мая 2011

int maxVal = (Convert.ToInt32(FindResource("maxVal")));

аналогично минимальное значение

int minVal = (Convert.ToInt32(FindResource("minVal")));

для установки значения ресурса, который вы можете сделать следующим образом

var resourceDictionary = this.Resources;
resourceDictionary["actualWidth"] = somevalue;
0 голосов
/ 16 мая 2011

используйте вот так

(int)this.FindResource("actualWidth")
0 голосов
/ 16 мая 2011

Я думаю, вы можете использовать

var max = (int)Application.Resources["maxValue"];

или что-то подобное.

...