Расширенный инструментарий WPF - обязательный текст richtextbox - PullRequest
0 голосов
/ 07 ноября 2010

Я новичок в WPF. Мне нужно сделать привязку TwoWay и OneWayToSource к строковой переменной. Я хочу использовать richtextbox из Extended WPF Toolkit, потому что я думаю, что это простой способ.

Поэтому я пытаюсь использовать richtebox из этой библиотеки в xaml, код здесь:

<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 ]

1 голос
/ 07 ноября 2010

Вы пытались что-то набрать, а затем сместить фокус с RichTextBox?Я подозреваю, что ваша собственность будет обновлена.Если вы хотите обновить свойство по мере ввода, вам потребуется:

Text="{Binding _rpText, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}"
0 голосов
/ 16 ноября 2010

Кент прав. Ваши свойства ДОЛЖНЫ препятствовать интерфейсу INotifyPropertyChanged для правильной работы привязки данных в WPF / Silverlight.

Документация объясняет, как связать вашу собственность с RichTextBox:

...