Silverlight 如何上传RadRichTextBox的内容
我有Telerik Radrich文本框。这里是设计Silverlight 如何上传RadRichTextBox的内容,silverlight,Silverlight,我有Telerik Radrich文本框。这里是设计 <telerik:RadRichTextBox Name="radRchTxtBoxEdit" HorizontalAlignment="Stretch" VerticalAlignment="Top" BorderBrush="Black" BorderThickness="1" Background="White" LayoutMode="Flow" IsSpellCheckingEnabled="False" TextInpu
<telerik:RadRichTextBox Name="radRchTxtBoxEdit" HorizontalAlignment="Stretch"
VerticalAlignment="Top" BorderBrush="Black" BorderThickness="1" Background="White"
LayoutMode="Flow" IsSpellCheckingEnabled="False" TextInput="radRchTxtBoxEdit_TextInput">
我想要富文本框内容的快照。是否有任何可能的方法拍摄RichTextBox的快照?使用PrintDocument类,您可以拍摄(快照/打印)任何UI元素或控件。声明PrintDocument,将RadRichTextBox分配给PrintPage事件中的PageVisual。(即PrintPage=radRchTxtBoxEdit) 这是让你开始的链接
假设您希望将文档另存为图像,然后对其进行处理。以下几点应该行得通 您可以使用以下方法从任何UIElement生成位图:
WriteableBitmap GetImageForUIElement(UIElement source)
{
WriteableBitmap bmp = new WriteableBitmap(source, null);
bmp.Invalidate();
return bmp;
}
不过,只需将RadRichTextBox控件输入此方法是不够的,因为它只会创建可见区域的图像
要生成整个页面
,必须深入RadRichTextBox控件的可视树
,以找到
这将有助于找到正确的子控件:
T GetDescendent<T>(DependencyObject root) where T : DependencyObject
{
int children = VisualTreeHelper.GetChildrenCount(root);
for (int i = 0; i < children; i++)
{
var element = VisualTreeHelper.GetChild(root, i);
if (element is T)
{
return (T)element;
}
else
{
element = GetDescendent<T>(element);
if (element != null)
{
return (T)element;
}
}
}
return null;
}
T getsubgent(DependencyObject根),其中T:DependencyObject
{
int children=VisualTreeHelper.GetChildrenCount(根);
for(int i=0;i
可写位图可以直接用作图像控件的源,
但是没有本机方法将此对象转换为文件系统对象,但是有几个选项
这是按钮点击处理程序
private void Button_Click(object sender, RoutedEventArgs e)
{
DocumentPagePresenter doc = GetDescendent<DocumentPagePresenter>(MyRichTextBox);
if (doc != null)
{
MyRichTextImage.Source = GetImageForUIElement(doc);
}
}
private void按钮\u单击(对象发送者,路由目标)
{
DocumentPagePresenter doc=GetDescent(MyRichTextBox);
如果(doc!=null)
{
MyRichTextImage.Source=GetImageForUIElement(doc);
}
}
private void Button_Click(object sender, RoutedEventArgs e)
{
DocumentPagePresenter doc = GetDescendent<DocumentPagePresenter>(MyRichTextBox);
if (doc != null)
{
MyRichTextImage.Source = GetImageForUIElement(doc);
}
}