2011-08-09 93 views
1

我有一些按鈕的功能區窗口至極使用資源這樣本地化帶狀按鈕上的文本

<r:RibbonWindow.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="/RibbonControlsLibrary;component/Themes/Office2007Black.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
     <r:RibbonCommand x:Key="CopyCommand" 
         LabelTitle="Copy" 
         ToolTipDescription="Copy something" 
         Executed="OnIgnore" 
         LargeImageSource="images/Flag/de-DE.png" 
         SmallImageSource="images/Flag/en-GB.png" 
     /> 
    </ResourceDictionary> 
</r:RibbonWindow.Resources> 


<DockPanel> 
    <r:Ribbon DockPanel.Dock="Top" Title="EasyLink"> 
      <r:RibbonTab Label="Home"> 
       <r:RibbonGroup Name="Clipboard" GroupSizeDefinitions="{StaticResource RibbonLayout}"> 
        <r:RibbonButton Name="Copy" Command="{StaticResource CopyCommand}" /> 
      </r:RibbonGroup> 
     </r:RibbonTab> 
     <r:RibbonTab Label="Help"> 
     </r:RibbonTab> 
    </r:Ribbon> 
</DockPanel> 

我想用「串」的概念有按鈕取決於更改文本語言。

我曾嘗試以下

 <r:RibbonCommand x:Key="CopyCommand" 
         LabelTitle="me:strings.Copy" 

,但它沒有工作,我應該這樣做的其他地方,在C#代碼吧?

回答

1

我發現WPF中的UI元素聲明性本地化的最佳和最簡單的解決方案是WPF本地化擴展(http://wpflocalizeextension.codeplex.com/)。它提供了額外的表達,例如:

"Text = {lex:LocText ResAssembly:ResFile:ResKey}" 

額外好處是,它支持回退機制時本地化是不適用於當前用戶。

我個人用它用絲帶,它很順利。

+0

的後備存在藏漢字符串(資源字符串是默認一)。 它被用作 LabelTitle =「Text = {lex:LocText ResAssembly:ResFile:ResKey}」 –