私はかなり新しいWPFですので、ここで間違っているのは本当にわかりません。私は現在の時間(Datetime.Now)を表示し、ウィンドウ上のラベルに更新したい。この時間は、データベースからデータをロードするメソッド(「最後に更新された」アイデアなど)で更新するために呼び出されます。ユーザーがログインしていると、このmethoudは、(スレッド上のタイマーが保管)2分ごとに呼ばれています。私は、時間のオブジェクトのための次のクラスを持っている...ウィンドウのクラスのコンストラクタでWPFのラベルにDateTimeを更新する
public class UpdatingTime : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private DateTime _now;
public UpdatingTime()
{
_now = DateTime.Now;
}
public DateTime Now
{
get { return _now; }
private set
{
_now = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("Now"));
}
}
}
public void Update()
{
Now = DateTime.Now;
}
}
、私が持っています...
updateTime.Update();
することにより、データベース、私は更新を呼び出す()メソッドからデータをロードする方法では...
UpdatingTime updateTime = new UpdatingTime();
lastUpdate.DataContext = updateTime;
私は私のデータバインディングを考えるような(しかし問題であり、私はかなり新しく言った) 。 XAMLファイル内の私のラベルは
<Label Name="lastUpdate" Margin="10" Height="auto" Content="{Binding Source updateTime, Path=Now}"
Visibility="Hidden" FontSize="20" />
はユーザーがログインしたら、私は可視に設定しているため、視認性が隠されているという理由がある
が、私はそれをテストしてきたと私は確信しているのではない...ように見えます問題。明確にするために、バックエンドコードは、対応するxamlファイル(例:Window.xaml、Window.xaml.cs)のコードビハインドファイル内にあるため、参照がないとは思われません。
問題は、アプリケーションを実行すると、何も表示されない(コンパイルされ、例外がスローされない)ということです。私は何が間違っているのか分かりません、もし誰かがこれについて少し明るい光を放つことができたら、私は大いに感謝するでしょう。
また、学習に役立つリソースや、参考になったWPFに慣れ親しんだことがあれば、それはすばらしいことです。私はDataContextが本当に何であるか、私が正しく使用しているかどうかはわかりません。
ありがとうございました。
ちょっと感謝ウリ!それは今更新されていませんが、表示されます...私は時間にラベルdatacontextを設定したので、 'Source'は不要ですか?再度、感謝します。 – Ryan
'ソース'は必要ありません。 lastUpdate.DataContextを設定しているときにコードを設定しています。私はあなたのコードがUIを更新するのを妨げる何も見ることができません。構文を再確認してください。頻繁に人々はTypoをイベントの発生時にプロパティの名前にします(コンパイラはプロパティが存在するかどうかを確認しません)。デバッガをUpdate関数からsetterを介して実行し、イベントが発生したことを確認します。それを超えて、私は何をすべきか分からない。 – Uri
更新するにはちょっとタイプミスがありました。もう一度ありがとう! – Ryan