首页 > 解决方案 > XamlParseException 将字符串转换为路由事件处理程序

问题描述

我不断收到错误消息:ArgumentException:“System.String”类型的对象无法转换为“System.Windows.RoutedEventHandler”类型。

当我尝试运行应用程序时。导致错误的组件是我这里下载的过滤器控制组件。我之前已经成功地将这个组件用于相同类型的应用程序,所以我认为它不是组件代码。

我能说的两个应用程序之间的唯一区别是加载组件的 wpf 页面与加载页面的 wpf 窗口位于不同的程序集中。

任何想法为什么会发生这种情况?

这是 XAML:

<FCC:FilterControl x:Name="EquipNumFilterBox" Height="25" Header="Filter..." Margin="10,2,0,0" Filter="FilterBox_Filter" ClearFilter="FilterBox_ClearFilter"/>

这是后面的代码:

    private void FilterBox_Filter(object sender, FilterControlComponent.FilterEventArgs e)
    {
        e.IsFilterApplied = true;
        ((CollectionViewSource)this.Resources["theDataView"]).View.Refresh();
    }

    private void FilterBox_ClearFilter(object sender, RoutedEventArgs e)
    {
        ((CollectionViewSource)this.Resources["theDataView"]).View.Refresh();
    }

标签: wpfxamlrouted-eventsxamlparseexception

解决方案


通过在后面的代码中分配事件来设法解决这个问题。


推荐阅读