2011-10-27 7 views
0

のヘッダに値バインディングは、私はエラーを取得するDataGridTemplateColumn

<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の値doヘッダーをバインドする別の方法がありますか?

答えて

0

私が正しく理解している場合は、リソースファイルから値をバインドする必要があります。それが質問であれば、INotifyPropertyChangedでリソースをラップする必要があります。このような何かを試してみてください。XAMLで

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)); 
     } 
    } 

は次のような何かを:

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

し、最終的に

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

それはあなたをお手伝いします願っています。

関連する問題