0

注意:我有一个 ResourceDictionary 和 WPF 窗口(我的视图)和 ViewModel,它们都在WinForms应用程序中声明。因此我没有 App.xaml。

我声明了以下转换器:

Public Class DebugConverter
    Implements IValueConverter

    Public Function Convert(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
        Return value
    End Function

    Public Function ConvertBack(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.ConvertBack
        Return value
    End Function
End Class

然后我尝试在运行时加载 ResourceDictionary(我将构建操作指定为 Resource 而不是 Page):

 m_rdGridDictionary = New ResourceDictionary()
 m_rdGridDictionary.Source = New Uri("pack://application:,,,/WPF/Helpers/GridResourceDictionary.xaml")

在 ResourceDictionary 中,我将其声明为:

<ResourceDictionary
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:cnv="clr-namespace:Positron.Cad.WindowGUI.WPFConverters">

     <cnv:DebugConverter x:Key="DebugConverter"/>
</ResourceDictionary>

但是当我尝试加载 ResourceDictionary 时,它找不到转换器:

错误

有人知道这种情况有什么问题吗?它们都存在于相同的命名空间中,所以这不应该是问题。

4

1 回答 1

2

解决了!Build 动作必须是 Page 而不是 Resource。

于 2013-05-08T19:04:14.527 回答