4

タイトルの質問はそれをかなり要約しています。XAMLで定義されたリソースオブジェクトがあり、コードビハインドでもアクセスしたいと思います。では、XAMLとコードビハインドの両方でx:Keyを(文字列として)ハードコーディングする代わりに、1つの場所でx:Keyを定義する方法はありますか?

4

2 に答える 2

9

文字列を2回コード化する必要がない場合は、静的変数として保存できます。ここでは、App.csに配置しました。

public partial class App : Application
{
    public static string Key1 = "testKey";
}

アプリのリソースでこのキーを使用する場合は、次のように行うことができます。

<Application.Resources>        
   <SolidColorBrush x:Key="{x:Static local:App.Key1}"/>
</Application.Resources>

また、C#では、Appにあるため、正確な文字列名を使用する必要はありません。

var brush = FindResource(App.Key1);

XAMLでリソースを使用するには、

<TextBox Background="{StaticResource {x:Static local:App.Key1}}" 
于 2012-06-13T13:36:12.153 に答える
2

XAMLでは、次のように参照します。

{StaticResource myResource}

コードビハインドでは、FindResourceメソッドを使用します。

于 2012-06-13T13:29:12.350 に答える