2012-02-06 63 views
0

[This .Net 3.5。]我見過很多例子,說這樣做,所以我必須錯過一些東西:爲什麼x:靜態工作在我的WPF示例中?

我有一個Resources.resx文件的項目。在資源文件中是公共的字符串。其中之一是 「取消」,從Resources.Designer.cs在這個片段所示:

namespace WFT.PumpSvc.Bench.Properties { 
    public class Resources { 
     public static string Cancel { 
      get { 
       return ResourceManager.GetString("Cancel", resourceCulture); 
      } 
     } 
... 

接下來,我有一些XAML有

xmlns:strings="clr-namespace:WFT.PumpSvc.Bench.Properties" 

<wft:TouchButton Name="closeButton">"{x:Static strings:Resources.Cancel}"</wft:TouchButton> 

( TouchButton繼承自Button。)

取而代之的是顯示在我的按鈕上的「取消」,我看到{x:Static strings:Resources.Cancel}。這是顯而易見的,我錯過了沒有找到字符串?

回答

2

不能在一個元件(至少不以這種形式)直接寫標記擴展,它必須是在一個屬性:

<wft:TouchButton Name="closeButton" Content="{x:Static strings:Resources.Cancel}"></wft:TouchButton> 

還可以編寫這樣的:

<wft:TouchButton Name="closeButton"> 
    <x:Static Member="strings:Resources.Cancel" /> 
</wft:TouchButton> 
2

你讓一個字符串,它不會被解析這樣的,使用元素語法:

<wft:TouchButton Name="closeButton"> 
    <x:Static Member="strings:Resources.Cancel"/> 
</wft:TouchButton> 
相關問題