没有重载匹配Delegate(Silverlight数据网格条件格式)

时间:2011-06-09 00:32:13

标签: c# silverlight

我正在尝试为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#的新手)会很棒。感谢

1 个答案:

答案 0 :(得分:0)

您提到的错误是指Joel Wrobel的示例项目中的方法,即' ConvertName '

您可能希望在项目中搜索对其ConvertName的引用并更改/删除它们。

您可能在切割/粘贴时拾取了参考。你也在使用他的方法吗?

如果没有,请发布更多代码。欢呼声。