2017-01-30 7 views
0

でStaticResourseキーバインディング、これを行うための私の方法は、私のアプリでResourseDictionoaryです。今私はグリフのためにキーFontAwesomeUserStringを縛りたい。オブジェクト内の私のプロパティはタイプstringのアイコンです。私のリストでは、アイコンvarのx:DataType="local:MenuItem"は私のresoursedictionaryからの値を持っています。は、私はいくつかのFontAwesomeアイコンでハンバーガーメニューをrefixしようとしていますUWP

<FontIcon Grid.Column="0" FontFamily="{StaticResource FontAwesomeFontFamily}" Glyph="{StaticResource FontAwesomeUserString}" Foreground="White" /> 
<TextBlock Grid.Column="1" Text="{x:Bind Name, Mode=OneWay}" TextWrapping="Wrap" FontSize="16" VerticalAlignment="Center" Foreground="White"/> 

StaticResourseのResourceKeyプロパティをバインドできるかどうかを教えてください。 はあなたがのようなコードを介してそれらを置き換えることにより、リソースディクショナリの値を変更することができ、あなたに

+0

リソースコードも投稿する必要があります。あなたはここでそれを正しくやっています。 {StaticResource}が{Binding}と違っていることを覚えておいてください。しかし、あなたがしていることは正しいと思います。 –

+0

こんにちは@MichaelPuckettII。答えに感謝します。私はコードからすべての値を取るために静的リソースをしたい、[ここ](https://github.com/amoraitis/AuebUnofficial/blob/Dev/AuebUnofficial/Helpers/HandlingUI/FontAwesomeDictionary.xaml)のソースコードを見つけることができます[後ろの](https://github.com/amoraitis/AuebUnofficial/blob/Dev/AuebUnofficial/Navig.xaml.cs)とここに私のコードは[XAML]である(https://github.com/amoraitis/AuebUnofficial/ブロブは/ dev/AuebUnofficial/Navig.xaml) –

+0

感謝アナスタシオス。しかしながら;以下のヴィンセントは質問に答えましたが、私は彼が何を言っているかを見てみましょう。答えのための –

答えて

1

ありがとう:

Application.Current.Resources["FontAwesomeUserString"] = "&glyphCode"; 

は、ページが作成されたときStaticResourceが読み取り専用であることを忘れないでください。

辞書を更新しているときに応じて、リソースディクショナリで何かを変更するときにアプリケーションが正しく更新されるようにするには、ThemeResourceを使用する必要があります。

あなたはThemeResourcehereの詳細を取得することができます。

<FontIcon Grid.Column="0" 
    FontFamily="{ThemeResource FontAwesomeFontFamily}" 
    Glyph="{ThemeResource FontAwesomeUserString}" 
    Foreground="White" /> 

更新

あなただけのすべてのアイテム、定期的な結合のためのグリフ/フォントファミリを設定しようとしている場合、十分である:あなただけ定義する必要が

<DataTemplate x:Key="DefaultTemplate" x:DataType="local:MenuItem"> 
     <Grid Width="240" Height="48"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="48" /> 
       <ColumnDefinition Width="*"/> 
      </Grid.ColumnDefinitions> 

      <FontIcon Grid.Column="0" FontFamily="{x:Bind FontFamily}" Glyph="{x:Bind Icon}" Foreground="White" /> 
      <TextBlock Grid.Column="1" Text="{x:Bind Name, Mode=OneWay}" TextWrapping="Wrap" FontSize="16" VerticalAlignment="Center" Foreground="White"/> 
     </Grid> 
    </DataTemplate>   

あなたのビューモードでFontFamilyIcon el UWPツールキットからハンバーガーメニューを見ることができますdocumentation

+0

おかげで、私は結合のための[このよう]オブジェクト(http://prnt.sc/e2d5u1)でこれを実装する方法を見ることができません。私はそれが異なる価値を取るようにしたい。 「FontAwesomeUserString」の値だけでなく、 –

関連する問題