Nein, ich glaube nicht, damit. Die Werte, die Sie den im XAML-Markup definierten unveränderlichen Strukturen zuweisen, müssen Kompilierzeitkonstanten sein.
Aber warum brauchen Sie das überhaupt? Was ist der Sinn der Definition einer anderen XAML-Ressource mit genau dem gleichen Wert wie eine bereits vorhandene Ressource? Dann können Sie die ursprüngliche Ressource auch direkt verwenden/referenzieren.
Vielleicht möchten Sie Ihre eigenen "proxy" Abhängigkeitsobjekt mit einem String-Eigenschaft verwenden:
public class MyString : DependencyObject
{
public static readonly DependencyProperty TheStringProperty =
DependencyProperty.Register("TheString", typeof(string), typeof(MyString));
public string TheString
{
get { return (string)GetValue(TheStringProperty); }
set { SetValue(TheStringProperty, value); }
}
}
<sys:String x:Key="Str1">Hello World</sys:String>
<local:MyString x:Key="StrRes" TheString="{StaticResource Str1}" />
...
<TextBlock Text="{Binding TheString, Source={StaticResource StrRes}}" />