WPF中RichTextBox实现和Winform一样的效果
来源:互联网 发布:天谕捏脸数据导入图 编辑:程序博客网 时间:2024/05/16 06:55
最近失眠睡不着,那就起来写博客吧。
在winform中我们经常使用richtextbox来记录程序日志,能够不同的追加显示不同的颜色,并且随着追加滑动条自动滚动。那么在WPF中如何实现呢?同样,也可以使用Richtextbox来实现,代码如下:首先在MainWindow.xaml中加入一个RichTextBox:
<RichTextBox Name="rb" Margin="0,0,0,00" Grid.Row="1" ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto"></RichTextBox>
主要要设置ScrollViewer.VerticalScrollBarVisibility=”Auto”否则看不到滚动条
我们再代码中,利用线程更新UI,并将信息输出到Richtextbox:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;namespace TextBlock{ /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void btn_Click(object sender, RoutedEventArgs e) { new System.Threading.Thread(() => { for (int i = 0; i < 100; i++) { Color color = i % 2 == 0 ? Colors.Red : Colors.Blue; UpdateText("this is i:" + i.ToString(), color, true); System.Threading.Thread.Sleep(500); } }).Start(); } delegate void deleUpdate(string msg, Color color, bool nextline); public void UpdateText(string msg, Color color, bool nextline) { this.Dispatcher.Invoke(new Action(() => { SolidColorBrush _brushColor = new SolidColorBrush(color); string _msg=nextline ? msg + "\r\n" : msg; var r = new Run(_msg); Paragraph p = new Paragraph() { Foreground = _brushColor }; p.Inlines.Add(r); rb.Document.Blocks.Add(p); rb.Focus(); rb.ScrollToEnd(); })); } }}
效果如下:
0 0
- WPF中RichTextBox实现和Winform一样的效果
- WPF中RichTextBox设置文本的样式
- WPF中richtextbox的一些用法
- winform中有一个确定按钮,怎么样可以按回车起到和点击按钮一样的效果?
- WPF richtextbox的使用
- WinForm中实现跑马灯的效果
- winform在richTextBox中查找并选择指定的文本
- WPF中RichTextBox的使用小窍门(翻译、整理)
- WPF和Winform的区别
- WPF RICHTEXTBOX 和数据库读写图文的方法。
- WPF RICHTEXTBOX 和数据库读写图文的方法
- WPF 读取和存储RichTextBox的文档内容
- WPF RichTextBox读取存储文本的方法和常用属性
- 实现和163一样的拖拽效果
- 在.net里面实现Enter和Tab一样的效果
- android实现和web一样的阴影效果
- RICHTEXTBOX中实现文字的自动滚动
- WPF richtextbox
- [leetcode] 289. Game of Life
- C语言概述(1)
- 设计模式GOF23——观察者模式
- 【Objective-C】java中的interface与Objective-C中的interface的区别
- 基于NX的研发产品设计管理平台实现(十)--图纸绘制环境预设置1
- WPF中RichTextBox实现和Winform一样的效果
- WaitForSingleObject WaitForMultipleObjects 用法
- 如何在win7 64下安装ipython notebook
- Java学习路线
- 小四轴DIY日记 促使化4个电机
- 安卓学习笔记1 JAVA环境变量设置
- HPUX-V3之常用LVM操作总结
- sklearn MeanShift
- sklearn Spectral Clustering