关于使用richtextbox的问题

dui_cky 2010-08-02 11:21:21
我要实现的功能是 在一个页面收集 编辑好的 richtextbox, 在另一个页面 中的richtextbox 中显示 出来。

初步解决方案是 richtextbox中有个 xaml 属性, 获取 这个属性的字符串 , 根据获取的然后再另一个页面中显示?
需要自己写解析 xaml 的方法吗? richtextbox 有没有简单点的方法 或属性 实现这个功能 ? richtextbox的xaml是只读属性。
...全文
150 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jstangwh 2010-08-03
富文本目前还没有应用到!
我刚查了MSDN
贴下希望对楼主有帮助.
http://msdn.microsoft.com/zh-cn/library/ms612650.aspx
回复
jlgxy 2010-08-03
对于富文本的赋值过程可以通过几种方式来显示其视图模式,每种方式针对的值是不同的。
1、HTML标记的字符串可以通过Stream->stremread->赋到RichTextBox.HTML=reader.ReaderTOEnd();
2、对于XAML标记的字符串也可以通过上面方法,但不是所有的标记都支持,就像楼上说的一样,所以最好的方法是RichTextBox.Load(....),也可以直接对RichTextBox.XAML赋值
3、XML标记的字符串可以用xmlreader方法赋值到对应属性

以前三种标记的字符串要十二分的规范,否决没戏。
回复
jv9 2010-08-03
不用自行解析XAML,RichTextBox的Xalm属性可以解析XAML语言。不过,目前仅支持解析一下几个Tag

Paragraph

Run

LineBreak

Span

Bold

Hyperlink

Underline

Italic




public void btnMarkUp_Checked(object sender, RoutedEventArgs e)
{
if (btnMarkUp.IsChecked.Value)
{
xamlTb.Visibility = System.Windows.Visibility.Visible;
xamlTb.IsTabStop = true;
xamlTb.Text = rtb.Xaml;
}
else
{
rtb.Xaml = xamlTb.Text;
xamlTb.Visibility = System.Windows.Visibility.Collapsed;
xamlTb.IsTabStop = false;
}

}


回复
dui_cky 2010-08-03

感谢jlgxy的热心帮忙,感谢冷大神的回答。CHS_Silverlight_4.chm 是个好东西啊。

问题基本解决!
回复
dui_cky 2010-08-03
WPF中有这个 LoadXamlPackage("C:\\test.xaml");

// Load XAML into RichTextBox from a file specified by _fileName
void LoadXamlPackage(string _fileName)
{
TextRange range;
FileStream fStream;
if (File.Exists(_fileName))
{
range = new TextRange(richTB.Document.ContentStart, richTB.Document.ContentEnd);
fStream = new FileStream(_fileName, FileMode.OpenOrCreate);
range.Load(fStream, DataFormats.XamlPackage);
fStream.Close();
}
}

silverlight System.Windows.Documents中 上面的很多类没实现,请问该怎么办呢 ?偷过来吗?
回复
jstangwh 2010-08-02
[Quote=引用 3 楼 dui_cky 的回复:]
RichTextBox概览 这个文章的内容还满足不了我的需求,因为我是 把 richtextbox的xaml 属性 存入到数据库中,下次 在另一个richtextbox现实内容的时候直接从数据库中读取 存储的xaml 字符串。

就相当于 给一个实现richtextbox规范的 xaml 字符串, 如何把它在 richtextbox中显示出来?
[/Quote]
我知道你的意思了.你现在现在有的资源就是一字符串.
我想能不能这样实现.
把字符串当能XML解析出来
得到所有节点
然后通过程序动态加载到你的richtextbox中去?
回复
dui_cky 2010-08-02
RichTextBox概览 这个文章的内容还满足不了我的需求,因为我是 把 richtextbox的xaml 属性 存入到数据库中,下次 在另一个richtextbox现实内容的时候直接从数据库中读取 存储的xaml 字符串。

就相当于 给一个实现richtextbox规范的 xaml 字符串, 如何把它在 richtextbox中显示出来?
回复
jstangwh 2010-08-02
楼主是不是想复制然后粘贴到另外一个richtextbox上面去?
回复
发帖
WPF/Silverlight
创建于2007-09-28

8588

社区成员

WPF/Silverlight相关讨论
申请成为版主
帖子事件
创建了帖子
2010-08-02 11:21
社区公告
暂无公告