Ошибка в реализации INotifyPropertyChanged

175
14 июля 2017, 02:09

Есть класс ViewModel который реализует INPC. Есть публичное свойство TextToSend к которому биндится текстбокс.

<TextBox Height="120" VerticalAlignment="Top" TextWrapping="Wrap" Margin="5,5,5,5" Text="{Binding TextToSend, Mode=TwoWay}"/>

Реализация интерфейса :

class ClientChatModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    protected void OnPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }

Свойство к которому идет привязка :

    public string TextToSend
    {
        get
        {
            return _texttosend;
        }
        set
        {
            _texttosend = value;
            OnPropertyChanged("TextToSend");
        }
    }
    private string _texttosend { get; set; }

Ошибок не выдает, не вылетает но если выполняется какая либо команда призванная очистить текстбокс - т.е. очистить _texttosend к которому привязано свойство Text контрола интерфейс не получает уведомления и текст контрола остается хотя свойство уже изменилось. В чем у меня ошибка ?

Answer 1

Чую, что вы очищаете ваше свойство _texttosend (почему бы не сделать его переменной, кстати?) вместо свойства TextToSend.

Попробуйте очищать так:

TextToSend = String.Empty;
READ ALSO
DataGrid в качестве RowDetailsTemplate

DataGrid в качестве RowDetailsTemplate

Есть DataGrid, при выборе строки которого выпадает RowDetailsTemplate, в DataTemplate указан еще один DataGridСуть в том что грид внутри DataTemplate привязан к ObservableCollection...

163
Файл конфигурации в .net core

Файл конфигурации в .net core

Подскажите, как вnet core создавать и использовать файл кофигурации (то что в

233
отображение данных с json на spa

отображение данных с json на spa

Вот реализация перехода по страницам с помощью хэша:

269