文字列[StatusText]にバインドされているテキストブロック[statusTextblock]を含むメインウィンドウがあります。StatusTextblockは、別のウィンドウからのコンボボックスの結果を表示する必要があります。他のウィンドウで変更されたときにこのデータをメインウィンドウに戻し、これが発生したときに文字列を変更する静的メソッドを作成しました。
ただし、これらすべての静的性により、テキストボックス要素をどの時点でもStatusTextの新しい値に変更できなくなります。
ユーザーがメインウィンドウに戻ったときに変更を加えるための回避策を考えましたが、成功しませんでした。私はactivateとuielementのgotfocusイベントハンドラーを試しました(2番目のものはまだ可能な修正であると思います)。
それが重要な場合は、メインウィンドウも常に開いています。また、xamlよりもコードで作業する方が好きですが、助けていただければ幸いです。
何か案は?
MainWindow xaml、次にプログラムエントリメソッド、次にstatusTextを変更する静的イベント
<TextBlock Margin="190,0,0,0" HorizontalAlignment="Right" Name="StatusTextBlock" Text= {Binding}" ></TextBlock>
public MainWindow() //Obviously more went here, but it's not relevent
{
StatusTextBlock.DataContext = statusText;
}
static public void changeStatusText(string status)
{
statusText = status;
}