我在WPF世界中非常新,我想将C#项目翻译成VB.NET,因为它有许多我想要重用的功能。我正在使用VS 2013。 C#项目来自这个来源: https://github.com/Julien-Marcou/RadialMenu 这是一个CustomControl WPF项目。
我收到以下错误: 无法找到类型'控件:PieShape'。请注意,类型名称区分大小写。
我认为仍然是命名空间引用问题,但由于我使用了所有原始项目名称和命名空间,因此很奇怪 我需要你的帮助!
在C#(原创)和VB.NET(我的)项目中我们都有:
- 1)项目属性:
装配名称:RadialMenu
根命名空间:RadialMenu
- 2)Generic.xaml:
(用curlies代替标签......)
{ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"}
{ResourceDictionary.MergedDictionaries}
{ResourceDictionary Source="/RadialMenu;component/Themes/PieShape.xaml" /} -here is an error only in VB.NET project:
**An error occurred while finding the resource dictionary "/RadialMenu;component/Themes/PieShape.xaml"**.
{ResourceDictionary Source="/RadialMenu;component/Themes/RadialMenu.xaml" /}
{ResourceDictionary Source="/RadialMenu;component/Themes/RadialMenuCentralItem.xaml" /}
{ResourceDictionary Source="/RadialMenu;component/Themes/RadialMenuItem.xaml" /}
{/ResourceDictionary.MergedDictionaries}
{/ResourceDictionary}
3)PieShape.xaml :(用curlies代替标签......)
{ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:RadialMenu.Controls"}
{Style TargetType="Controls:PieShape" /} -here is an error only in VB.NET code:
**Cannot find the type 'Controls:PieShape'. Note that type names are case sensitive.**
{/ResourceDictionary}
PieShape.vb(代码)
Imports System.Windows
Imports System.Windows.Media
Imports System.Windows.Shapes
namespace RadialMenu.Controls
Public Class PieShape
Inherits Shape '...
PieShape.cs(代码)
using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Shapes;
namespace RadialMenu.Controls
{
internal class PieShape : Shape
{//...
4) RadialMenu.xaml - 两个项目(用curlies代替标签......)
{ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:RadialMenu.Controls"}
{Style TargetType="Controls:RadialMenu"} - here is an error only in vb.net
**The name "RadialMenu" does not exist in the namespace "clr-namespace:RadialMenu.Controls"**.
...
还有其他文件有错误(RadialMenuItem.xaml等),但由于它们使用PieShape.xaml,如果它在此文件中出错,则所有其他文件都有错误,所以这是正常的。
如何消除PieShape.xaml文件中的错误? 我在stackoverflow中找到了很多〜解决方法〜: - 重启项目 - 将x86替换为x64并返回x86。
Visual Basic.net中的命名空间有问题吗?
非常感谢!
答案 0 :(得分:0)
解决: 我不得不替换命名空间名称
namespace RadialMenu.Controls
使用此名称
namespace Controls
我不知道它为什么会起作用......