我正在尝试为Silverlight Datagrid实现条件格式。我的代码基于Joel Wrobel的博客文章:http://weblogs.asp.net/joewrobel/archive/2009/01/25/conditional-formatting-in-the-silverlight-datagrid.aspx
我的XAML资源:
<navigation:Page.Resources>
<local:UniversalConverter x:Key="passConverter" Converting="ConvertPass" />
</navigation:Page.Resources>
我的C#convertPass功能:
private object ConvertPass(System.Object value, System.Type targetType, System.Object parameter, System.Globalization.CultureInfo culture)
{
int passRate;
bool success = int.TryParse(value.ToString(), out passRate);
System.Diagnostics.Debug.WriteLine("TRY 1");
if (!success)
{
return value;
}
Grid grid = new Grid();
if (passRate == 1)
{
grid.Children.Add(new TextBlock { Text = string.Format("{0},(perfect)", passRate) });
grid.Background = new SolidColorBrush(Colors.Green);
}
else
{
grid.Children.Add(new TextBlock { Text = passRate.ToString() });
grid.Background = new SolidColorBrush(Colors.Red);
}
return grid;
}
其他一切与乔尔的帖子相同。我得到的错误是:'ConvertName'没有重载匹配委托'UniversalConverterHandler
仅搜索错误会导致声明方法和委托签名不匹配。在我的情况下,由于VS添加它们和复制/粘贴检查,我很确定它们会这样做。关于这可能是什么的任何建议(我是Silverlight / C#的新手)会很棒。感谢
答案 0 :(得分:0)
您提到的错误是指Joel Wrobel的示例项目中的方法,即' ConvertName '
您可能希望在项目中搜索对其ConvertName的引用并更改/删除它们。
您可能在切割/粘贴时拾取了参考。你也在使用他的方法吗?
如果没有,请发布更多代码。欢呼声。