我有一个类库,是使用“类库”项目模板创建的。如果我在解决方案资源管理器中右键单击此库并选择“添加>用户控件”,Visual Studio会添加一个WinForms UserControl,这不是我想要的——我想要“添加>用户控件”来添加一个WPF用户控件。
我已经添加了对WPF程序集(WindowsBase、PresentationFramework和PresentationCore)的引用,并且在这个库中已经有一些WPF UserControls,一切都可以编译。我的库没有引用WinForms程序集(System.Drawing和System.Windows.Forms)。但显然正确的引用并不能为Visual Studio提供足够的线索,因为当我尝试添加用户控件时,它会向我的项目添加WinForms引用,然后创建一个WinForms UserControl。
我可以将WPF用户控件添加到我的WPF应用程序项目中,然后将其移动到我的库中。但这很麻烦,我宁愿一开始就让它正常工作。
我认为我可能在我的.csproj文件中缺少某种奥秘的XML元素,告诉Visual Studio默认使用哪个设计器,如果我添加了正确的XML元素和正确的神秘GUID,它就会开始正常工作。如果我能创建一个新的WPF Control Library,我可能可以比较这两个项目文件并找出问题所在。然而,我正在使用Visual C# Express,它没有WPF Control Library项目模板,所以我就没戏了。
我需要在我的类库的.csproj文件中做什么,以便VS2010的“添加>新用户控件”将添加一个WPF UserControl?
我已经添加了对WPF程序集(WindowsBase、PresentationFramework和PresentationCore)的引用,并且在这个库中已经有一些WPF UserControls,一切都可以编译。我的库没有引用WinForms程序集(System.Drawing和System.Windows.Forms)。但显然正确的引用并不能为Visual Studio提供足够的线索,因为当我尝试添加用户控件时,它会向我的项目添加WinForms引用,然后创建一个WinForms UserControl。
我可以将WPF用户控件添加到我的WPF应用程序项目中,然后将其移动到我的库中。但这很麻烦,我宁愿一开始就让它正常工作。
我认为我可能在我的.csproj文件中缺少某种奥秘的XML元素,告诉Visual Studio默认使用哪个设计器,如果我添加了正确的XML元素和正确的神秘GUID,它就会开始正常工作。如果我能创建一个新的WPF Control Library,我可能可以比较这两个项目文件并找出问题所在。然而,我正在使用Visual C# Express,它没有WPF Control Library项目模板,所以我就没戏了。
我需要在我的类库的.csproj文件中做什么,以便VS2010的“添加>新用户控件”将添加一个WPF UserControl?