2011-10-27 48 views
0

的我得到一個錯誤:綁定值到頭DataGridTemplateColumn

Cannot find a Resource with the Name/Key ResourceString [Line: 94 Position: 104] 
在我的XAML

<data:DataGridTemplateColumn x:Name="PriorityColumn" CanUserSort="True" Header="{Binding columnHeader_PriorityColumn, Source={StaticResource ResourceString}}"> 

但我不能從資源綁定元素texblock

經過一番調查後,我發現這是因爲我只能使用Resource.resx控件列出:

http://msdn.microsoft.com/en-us/library/dd882554(v=vs.95).aspx

所以,如果我有權,有沒有DataGridTemplateColumn的標題綁定值做其他的方式?

回答

0

如果我理解正確,您需要從資源文件中綁定值。如果這是個問題,那麼你應該用INotifyPropertyChanged包裝資源。試着這樣做:

public class ResourceWrapper : INotifyPropertyChanged 
{ 
     private static readonly Resource resourceHelper = new Resource(); 

     public Resource ResourceHelper 
     { 
      get { return resourceHelper; } 
      set { NotifyChange("ResourceHelper"); } 
     } 

     public event PropertyChangedEventHandler PropertyChanged; 

     private void NotifyChange(String name) 
     { 
      if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(name)); 
     } 
    } 

在XAML中做這樣的事情:

... 
    <UserControl.Resources> 
     <helper:ResourceWrapper x:Name="ResourceString" /> 
    </UserControl.Resources> 
... 

最後

<data:DataGridTemplateColumn x:Name="PriorityColumn" CanUserSort="True" Header="{Binding ResourceHelper.NeededString, Source={StaticResource ResourceString}}"> 

希望它會幫助你。

相關問題