WPF XAML中的ScintillaNET问题

时间:2013-09-01 14:46:04

标签: c# .net wpf xaml scintilla

我正在尝试在WPF中使用ScintillaNET(通过Windows Forms Host)。但是我得到了一个无效的XA​​ML标记。我的XAML代码是:

<Window x:Class="ObjectiveWin.Editor"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:scintilla="clr-namespace:ScintillaNET"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="ObjectiveWin 2013 Express" Height="392.537" Width="628.358" WindowState="Maximized" Loaded="editor_Loaded">
<Grid>
    <WindowsFormsHost HorizontalAlignment="Left" Height="340" Margin="0,22,0,0" VerticalAlignment="Top" Width="620">
        <scintilla:Scintilla></scintilla:Scintilla>
    </WindowsFormsHost>
</Grid>

但是,Visual Studio 2012给了我这些错误:

  1. The name Scintilla does not exist in the namespace "clr-namespace:ScintillaNET".
  2. The tag 'Scintilla' does not exist in XML namespace 'clr-namespace:ScintillaNET. Line 8 position 14.'

  3. The name 'scintilla:Scintilla' was not found. Verify you are not missing an assembly reference and that all referenced assemblies have been built

  4. 我究竟做错了什么?如果重要,我将.NET Framework 4.5VS2012

    一起使用

2 个答案:

答案 0 :(得分:2)

您的命名空间错误(msdn)。

  如果引用了clr-namespace,则可以省略

程序集   在与应用程序代码相同的程序集中定义   引用自定义类。

检查此命名空间:

xmlns:scintilla="clr-namespace:ScintillaNET;assembly=ScintillaNET"

答案 1 :(得分:0)

我遇到了同样的问题。 在搜索时,我发现了一篇关于单独的WPF分支的帖子,提到了http://scintillanet.codeplex.com/SourceControl/latest

如果你去那里并点击Branches,你可以看到它。

我下载了这个并构建它,然后我将ScintillaNET.dll和ScintillaNET.WPF.dll添加到我的WPF应用程序中。

但是仍然没有运气,将我的项目与我从codeplex获得的项目进行比较,这项工作我发现了

我的应用程序:项目属性 - &gt;申请 - &gt;目标框架设置为.NET Framework 4 Client Profile(这不是完整的.NET FrameWork 4,而是简化版本)

来自codeplex的应用程序设置为.NET Framework 4.将我的应用程序更改为完整的.NET Framework 4后,所有问题都消失了。

命名空间我添加到我的XAML

的xmlns:SN = “http://scintillanet.codeplex.com”