0

私はWPFプログラミングに慣れていないので、これが単純な問題である場合はご容赦ください。

私は次のようにMainwindow.xaml設定しています:

<Window x:Class="GNMAwpf.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:GNMAwpf"
    Title="Uploader" 
    Height="353" Width="342" ResizeMode="NoResize" WindowStartupLocation="CenterScreen">

<Window.DataContext>
    <local:GinniNet x:Name="g" />
</Window.DataContext>

さらに下にテキストブロックがあります:

<TextBlock Text="{Binding Path=StatusText}" Grid.ColumnSpan="2" MinWidth="150"></TextBlock>

私のクラスでは:

class GinniNet : INotifyPropertyChanged
{

    public event PropertyChangedEventHandler PropertyChanged;
    private string _statusMessage;
    public string StatusMessage
    {
        get
        {
            return _statusMessage;
        }
        set
        {
            _statusMessage = value;
            OnPropertyChanged("StatusMessage");
        }
    }
    public GinniNet()
    {
        StatusMessage = "Ready";
    } 
    private void OnPropertyChanged(string property)
    {

        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(property));
    }
}

変更するとStatusMessageテキストブロックが更新されません。どこで間違いを犯しているのですか?

4

1 に答える 1

6

バインディングが正しくありません-

<TextBlock Text="{Binding Path=StatusText}"/>

そのはず -

<TextBlock Text="{Binding Path=StatusMessage}"
于 2012-11-14T15:44:40.227 に答える