我收到错误:
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 :(得分: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}}">
希望它能帮到你。