0

この場合のように、表示するプロパティがプロパティからのプロパティである場合、バインドを行うにはどうすればよいですか。

Xaml:

<TextBox Text="{Binding log.Message}"/>  ????

Datacontext として定義されたクラスで、ログ変数を宣言します。

public Log log = new Log();

ログクラス:

public class Log : INotifyPropertyChanged
{
    public static string Message{ get { return message; } }
  ....
4

3 に答える 3

0

あなたが書いたものの問題は、それMessageが静的プロパティであるため、ログオブジェクトから取得するのではなく、 Log クラスから取得することを想定しています。

<Window.Resources> <local:Log x:Key="logClass"/> </Window.Resources>

<TextBox Text="{Binding Source={StaticResource logClass}, Path=Message}"/

于 2013-10-02T12:43:17.933 に答える
0

静的プロパティを XAML にバインドすることはできません。それを可能にするのは .Net 4.5 だけであり、さらには多少の作業が必要です。参照: WPF 4.5 – パート 9: 静的プロパティへのバインディング。あなたはそこに道を見つけることができます。

.Net 4.5 を使用できない場合は、この SO スレッドで別の回避策を確認してください。

于 2013-10-02T12:41:51.203 に答える