2

Windows Phone アプリでいくつかの ResourceDictionaries を作成し、次のコードを App.xaml.cs ファイルに追加してテーマを読み込みました。

private void LoadDictionary()
{
    var dictionaries = Resources.MergedDictionaries;
    dictionaries.Clear();
    string source = String.Format("/MyApp;component/Themes/Theme2.xaml");
    var themeStyles = new ResourceDictionary { Source = new Uri(source, UriKind.Relative) };
    dictionaries.Add(themeStyles);
}

これは、コードを変更して再コンパイルすると正常に機能しますが、私が望んでいて理解できなかったのは次のとおりです。ユーザーが設定ページからテーマを選択したときに辞書をロードする方法は?

XAML で TextBox にスタイルを設定する方法は次のとおりです。

<TextBox x:Name="Count" Grid.Column="1" TextAlignment="Center" InputScope="Number">
  <TextBox.Style>
      <StaticResource ResourceKey="InputTextBox" />
  </TextBox.Style>
</TextBox>
4

1 に答える 1

0

通常、これはDynamicResourceを使用して行います(この記事のWPFスイッチカラーテーマを参照)が、残念ながら、WindowsPhoneにはそのような贅沢はありません。

私の唯一の提案は、交換したいもののプロパティを持つGlobalクラスを使用し、SetTheme()メソッドを使用して手動で交換を処理することです。

于 2012-05-11T21:46:40.813 に答える