当前位置: 首页 > news >正文

网站建设的建议知识搜索引擎

网站建设的建议,知识搜索引擎,怎么做网站推广知乎,免费的游戏网站建设前言 使用WPF 中的RichTextBox控件实现添加文本后自动滚动末尾。因为RichTextBox无法直接绑定数据&#xff0c;所以通过引用System.Windows.Interactivity实现&#xff08;System.Windows.Interactivity.WPF&#xff09; 代码 MainWindow.xaml <Window x:Class"WPF…

前言

使用WPF 中的RichTextBox控件实现添加文本后自动滚动末尾。因为RichTextBox无法直接绑定数据,所以通过引用System.Windows.Interactivity实现(System.Windows.Interactivity.WPF)

代码

MainWindow.xaml

<Window x:Class="WPF_MvvmDemo.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:behavior="clr-namespace:WPF_MvvmDemo" xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"><Grid><Grid.RowDefinitions><RowDefinition Height="*"/><RowDefinition Height="50"/></Grid.RowDefinitions><RichTextBox Name="OutputListBox" Grid.Row="0"  Margin="5" Background="#FFFFFF" Focusable="True" VerticalScrollBarVisibility="Auto"><!--数据绑定--><i:Interaction.Behaviors><behavior:RichTextBoxBehavior Document="{Binding RichTextContent, Mode=TwoWay}" /></i:Interaction.Behaviors><!--自动滚动--><i:Interaction.Triggers><i:EventTrigger EventName="TextChanged"><ei:CallMethodAction MethodName="ScrollToEnd" /></i:EventTrigger></i:Interaction.Triggers></RichTextBox><Button  Grid.Row="2" Width="150" Margin="5" HorizontalAlignment="Right"Command="{Binding AppendTextCommand}">AddText</Button></Grid>
</Window>

MainWindow

public partial class MainWindow : Window
{MainViewModel viewModel;public MainWindow(){InitializeComponent();viewModel=new MainViewModel();this.DataContext = viewModel;}
}

RelayCommand

public class RelayCommand : ICommand
{public Action<string> execute;public RelayCommand(Action<string> execute){this.execute = execute;}public event EventHandler? CanExecuteChanged;public bool CanExecute(object? parameter){return CanExecuteChanged!=null;}public void Execute(object? parameter){execute?.Invoke(parameter?.ToString());}
}

RichTextBoxBehavior

/// <summary>
///RichTextBox 的 Document 属性不是一个依赖属性(DependencyProperty),因此不能直接进行双向数据绑定。
///我们需要使用一种间接的方式来实现数据绑定。
///解决方案:
///使用 Behavior 来实现 RichTextBox 的数据绑定。Behavior 是一个附加行为,可以在 XAML 中使用,
///通过代码来实现复杂的行为逻辑。
/// </summary>
public class RichTextBoxBehavior : Behavior<RichTextBox>
{public static readonly DependencyProperty DocumentProperty =DependencyProperty.Register("Document", typeof(FlowDocument), typeof(RichTextBoxBehavior),new FrameworkPropertyMetadata(null, OnDocumentChanged));public FlowDocument Document{get { return (FlowDocument)GetValue(DocumentProperty); }set { SetValue(DocumentProperty, value); }}private static void OnDocumentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e){var behavior = d as RichTextBoxBehavior;if (behavior != null){behavior.UpdateRichTextBox((FlowDocument)e.NewValue);}}protected override void OnAttached(){base.OnAttached();AssociatedObject.Loaded += OnLoaded;AssociatedObject.TextChanged += OnTextChanged;}protected override void OnDetaching(){base.OnDetaching();AssociatedObject.Loaded -= OnLoaded;AssociatedObject.TextChanged -= OnTextChanged;}private void OnLoaded(object sender, RoutedEventArgs e){UpdateRichTextBox(Document);}private void OnTextChanged(object sender, TextChangedEventArgs e){Document = AssociatedObject.Document;}private void UpdateRichTextBox(FlowDocument document){if (document != null && AssociatedObject.Document != document){AssociatedObject.Document = document;}}
}

运行结果

在这里插入图片描述

http://www.rdtb.cn/news/15706.html

相关文章:

  • 网站开发是什么今日最新消息
  • asp net4.0网站开发百度产品优化排名软件
  • 找人做公司网站软文推送
  • 湖南智能网站建设哪里好有创意的网络营销案例
  • 做网做网站建设女装关键词排名
  • 沈阳做网站费用新媒体运营培训学校
  • 丽江网站开发同仁seo排名优化培训
  • 市网站建设免费下载优化大师
  • wordpress登录前后菜单手机优化软件排名
  • 做网站公司在哪深圳网络营销
  • 做intor的网站深圳网络营销网站设计
  • 做搜狗手机网站快速排济南百度开户电话
  • 做百度移动网站点击软百度网络营销中心官网
  • iis 添加网站自己怎么做百度推广
  • 设计师做私单网站seo优化网站
  • 单页电影网站源码苹果cms永久免费建站程序
  • 网站忘记密码功能百度云网盘网页版
  • 出口退税在哪个网站做青岛网络推广
  • 新闻网站做的比较好的宁波seo推广如何收费
  • 云南旅行社网站开发学历提升
  • 西安做网站好的公司合肥seo排名扣费
  • 室内装修设计联盟seo查询在线
  • 盐城做网站优化象山关键词seo排名
  • 前端外包网太原百度关键词优化
  • 怎样把网站做成软件软件测试培训机构哪家好
  • 有保障的无锡网站制作福建seo推广方案
  • 做网站要用到的技术互动营销成功案例
  • 集约化建设政府网站百度云搜索资源入口
  • 品牌网十大品牌排行榜太原网站优化
  • 小说网站防盗做的好处seo优化是什么