62
задан 17 September 2011 в 03:16

2 ответа

Если Вы хотите получить доступ к ресурсу от некоторого другого класса (i.g. не xaml codebehind), можно использовать

Application.Current.Resources["resourceName"];

от System.Windows пространство имен.

3
ответ дан 31 October 2019 в 13:57

Можно использовать ключ ресурса как это:

<UserControl.Resources>
    <SolidColorBrush x:Key="{x:Static local:Foo.MyKey}">Blue</SolidColorBrush>
</UserControl.Resources>
<Grid Background="{StaticResource {x:Static local:Foo.MyKey}}" />

public partial class Foo : UserControl
{
    public Foo()
    {
        InitializeComponent();
        var brush = (SolidColorBrush)FindResource(MyKey);
    }

    public static ResourceKey MyKey { get; } = CreateResourceKey();

    private static ComponentResourceKey CreateResourceKey([CallerMemberName] string caller = null)
    {
        return new ComponentResourceKey(typeof(Foo), caller); ;
    }
}
3
ответ дан 31 October 2019 в 13:57

Другие вопросы по тегам:

Похожие вопросы: