OneNote 2010代码无法正确粘贴回XAML

时间:2013-10-16 09:35:14

标签: xaml onenote

有没有其他人经历过这个? 如果我想从OneNote2010粘贴代码,它就无法正常工作。

复制:创建任何WPF应用程序,将XAML复制到OneNote2010中,将其复制回来 - >空白问题。

或者使用此示例:

<Popup Placement="Center" IsOpen="{Binding Error, Converter={StaticResource StringBoolConverter}}" PopupAnimation="Slide">
        <userControls:ErrorMessageControl></userControls:ErrorMessageControl>
    </Popup>

将其放入OneNote并将其复制后,它会被破坏。我甚至无法将其粘贴在此处,因为它永远不会显示。

将其粘贴到XAML中会创建

之类的消息
  

错误1“”在名称中无效。 MainWindow.xaml 94

     

错误2缺少空白区域。 MainWindow.xaml 94

似乎很多空白对于编辑来说都很奇怪。

我比较了Notepad ++中的粘贴代码并显示了不可打印的字符,我不会发现空格有任何问题。

4 个答案:

答案 0 :(得分:1)

粘贴到OneNote时将粘贴选项设置为“仅文本”。

粘贴时,打开菜单并选择“仅文本”;然后再次打开菜单并将其设置为默认粘贴。

Paste Options with "Set as default" highlighted

如果粘贴时未显示菜单,请转到文件 - &gt;选项 - &gt;高级,然后在“编辑”组中,确保选中“粘贴内容时显示粘贴选项按钮”。

答案 1 :(得分:1)

此外,如果您想保存格式,您可以使用解决方法:

  1. 首先将文字粘贴到 Google文档
  2. 复制此文字
  3. 粘贴到 OneNote
  4. 祝你好运。 如果有人知道更好的解决方案 - 请分享。

答案 2 :(得分:0)

在XAMeLi的回复中使用Samuel的评论,我能够使用Notepad ++解决这个问题。方法如下:

  1. 打开文件(在我的情况下,它是一个SQL文件。你实际上可以看到 使用Notepad ++在SSMS中愚蠢的不间断空格。
  2. 打开"Converter" plugin by Don Ho(真的吗?),“转换面板” 菜单项。
  3. 转到“十六进制”文本框并输入“A0”。在右边 “Ascii”文本框点击“复制”按钮。
  4. 在记事本中按Ctrl-H进入“查找和替换”。在“查找”文本框中 点击CTRL-V粘贴你的ASCII码。
  5. 返回转换面板。在“十六进制”中键入“20” 文本框。再次点击“ASCII”右侧的“复制”按钮 文本框。返回“查找/替换”对话框,然后单击 “替换”文本框。点击CTRL-V粘贴那里的空间(你 可能只是击中空格键就可以逃脱,但我是 这里没有机会)。确保已启用“仅匹配整个单词” 关闭。点击“全部替换”按钮
  6. 您的文字应该得到修复。将其全部复制,然后将其粘贴回VS编辑器并尝试构建。

答案 3 :(得分:0)

问题是OneNote似乎正在用不间断的空格替换空格(参见https://en.wikipedia.org/wiki/Non-breaking_space),这是一个不同的角色。

我想出了这个解决方案,在AutoHotKey https://autohotkey.com

中添加了一个脚本
#Persistent
return

OnClipboardChange:
 if WinActive("ahk_exe ONENOTE.EXE")
 {
   nbs:=chr(160)
   StringReplace, Clipboard, Clipboard, %nbs%, %A_SPACE%, All  
 }
return

这就是它的作用:如果AutoHotKey检测到剪贴板更改(例如您从OneNote复制文本)并且活动窗口是onenote.exe,则所有非中断空格(char 160 decimal)将替换为普通空格。