扩展的WPF工具包 - richtextbox的绑定文本

时间:2010-11-07 15:36:14

标签: wpf binding toolkit

我是WPF的新手。我需要让TwoWay和OneWayToSource绑定到字符串变量。我想使用Extended WPF Toolkit中的richtextbox,因为我认为这是一种简单的方法。

所以我尝试在xaml中使用此库中的richtebox,代码在这里:

<Window x:Class="PokecMessanger.ChatWindow"
        xmlns:extToolkit="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit.Extended"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        Title="ChatWindow" Height="429" Width="924">

///...

        <extToolkit:RichTextBox Name="rtbRpText"  Text="{Binding _rpText, Mode=OneWayToSource}" Grid.Column="0"></extToolkit:RichTextBox>

在代码背后,我有这段代码:

    private string _rpText = string.Empty;

    public ChatWindow(PokecCommands pokecCmd)
    {
        rtbRpText.DataContext = _rpText;
    }

问题是,如果我在richtextbox中写了一些东西,变量_rpText仍然是空的,哪里可能有问题?

2 个答案:

答案 0 :(得分:1)

您是否尝试过键入内容然后将焦点从RichTextBox移开?我怀疑你的财产会更新。如果要在键入时更新属性,则需要:

Text="{Binding _rpText, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}"

答案 1 :(得分:0)

肯特是对的。您的属性必须强制INotifyPropertyChanged接口使数据绑定在WPF / Silverlight中正常工作。

documentation解释了如何将属性绑定到RichTextBox: