如何在RichTextBlock (图像)中复制/粘贴?属性是否存在于用于复制/粘贴的RichTextBlock中?
下面是我正在创建的一个例子:
<RichTextBlock x:Name="txbTermsConditions" Height="Auto" Width="319" FontSize="16">
<Paragraph>
//Example of xaml... the image is from file.xml
</Paragraph>
</RichTextBlock>如果我从这段Xaml中选择了所有的文本或图像,并在NotePad中复制/粘贴它,我就无法选择要复制/粘贴的文本或图像。
发布于 2014-06-16 16:51:52
尝试使用以下代码
private void richTextBox1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{ //click event
//MessageBox.Show("you got it!");
ContextMenu contextMenu = new System.Windows.Forms.ContextMenu();
MenuItem menuItem = new MenuItem("Cut");
menuItem.Click += new EventHandler(CutAction);
contextMenu.MenuItems.Add(menuItem);
menuItem = new MenuItem("Copy");
menuItem.Click += new EventHandler(CopyAction);
contextMenu.MenuItems.Add(menuItem);
menuItem = new MenuItem("Paste");
menuItem.Click += new EventHandler(PasteAction);
contextMenu.MenuItems.Add(menuItem);
richTextBox1.ContextMenu = contextMenu;
}
}
void CutAction(object sender, EventArgs e)
{
richTextBox1.Cut();
}
void CopyAction(object sender, EventArgs e)
{
Graphics objGraphics;
Clipboard.SetData(DataFormats.Rtf, richTextBox1.SelectedRtf);
Clipboard.Clear();
}
void PasteAction(object sender, EventArgs e)
{
if (Clipboard.ContainsText(TextDataFormat.Rtf))
{
richTextBox1.SelectedRtf
= Clipboard.GetData(DataFormats.Rtf).ToString();
}
} 如果您想要复制粘贴到另一个应用程序,如记事本(文本,而不是样式),请替换以下方法
void CopyAction(object sender, EventArgs e)
{
Clipboard.SetText(richTextBox1.SelectedText);
}
void PasteAction(object sender, EventArgs e)
{
if (Clipboard.ContainsText())
{
richTextBox1.Text
+= Clipboard.GetText(TextDataFormat.Text).ToString();
}
} https://stackoverflow.com/questions/24248188
复制相似问题