2011-03-15 4 views
2

シルバー/ WP7に結合しています。このリストは、XAMLのListBoxにバインドされます。しかし、私はそれがUIにバインドされる前に返される文字列の1つを編集したいと思います。私はいくつかの検索を行なったし、私は、しかし私は、提案されたソリューションで非常に明確ではありませんよ、this solutionに出くわした:何をシルバー/ WP7:私はJSONクエリからデシリアライズされているオブジェクトのリストを持っている</p> <p>:文字列を変更するにはXAML

string _value; 
public string Value { get { return _value; } set { _value = value; NotifyPropertyChanged("Value"); NotifyPropertyChanged("ValueFormatted"); } } 
public string ValueFormatted { get { return "Static Text: " + _value; } } 

をNotifyPropertyChangedされますか?私はSilverlight/C#についてかなり新しく、INotifyPropertyChangedインターフェイスしか表示されません。このソリューションを実装するにはどうすればよいですか?

答えて

4

解決しようとしている問題は、実際にはINotifyPropertyChangedインターフェイスを必要としません。 NotifyPropertyChangedメソッドを削除し、INotifyPropertyChangedインターフェイスを次にValueFormattedプロパティにバインドすると正常に動作します。しかし、UIにバインドされているクラスにINotifyPropertyChangedのを実装

一般的にかなり良いアイデアです:

「INotifyPropertyChangedのインターフェースがプロパティに新しい値を取るためにバインドされたオブジェクトを強制するように変更されていることを通知するために使用されます"

これは基本的に、オブジェクトがバインドされた後にオブジェクトのプロパティを変更すると、値がUIに反映されることを意味します。

Silverlightのショーはあなたがあなたのように見える素敵なsimple example of INotifyPropertyChanged

0

インターフェイスにINotifyPropertyChangedオブジェクトを実装する必要があります。 NotifyPropertyChangedには、PropertyChangedイベントを発生させるメソッド呼び出しがあります。

INotifyPropertyChangedのMSDN pageには、実際にはかなり良いサンプルがあります。 INotifyPropertyChangedを実装すると、これを問題なく行うことができます。サンプルには、ソリューションのフラグメントと同じNotifyPropertyChangedメソッドがあります。

0

がプロパティコンバータは、あなたのXAMLマークアップでコンバータを指定することができますしたい与え内容が描かれているとき、それは最初にあなたのコンバータクラスに送信され、元の値の代わりに戻り値が使用されます。

私は現時点ではそうではありませんが、1時間ほどかかるはずです。これを例として更新します。

関連する問題