TextBlock不会更新内容

时间:2016-05-24 14:34:58

标签: c# wpf xaml events binding

我有一个TextBlock,我想写入文本。为此,我在后台使用TextBox和其他一些逻辑。

<TextBlock
    Text="{Binding Chunk}"  
    TextBlock.FontFamily="Arial" 
    VerticalAlignment="Center" 
    HorizontalAlignment="Left" />

<TextBox 
    Text="{Binding Chunk, UpdateSourceTrigger=PropertyChanged}"
    Width="400" 
    AcceptsReturn="True"
    MaxHeight="80" 
    Margin="0,10,20,10" 
    Padding="0,5,0,5" />

    public string Chunk
    {
        get { return chunk; }
        set
        {
            if (value == chunk || (value != null && value.Length > 400))
                return;

            chunk = value;
            OnPropertyChanged("Chunk");
        }
    }

现在,如果我在TextBox中写入内容,TextBlock的内容将按预期更新。但是如果我从背景中向Chunk写一些内容,TextBlock和TextBox的内容都不会更新。触发了OnPropertyChanged事件,但显然会被忽略。

知道为什么吗?

1 个答案:

答案 0 :(得分:3)

您需要在ViewModel上实现INotifyPropertyChanged接口。我一直忘记这一点。