メイン ウィンドウを灰色のキャンバスで覆い、中央にテキスト ブロックを配置して、他のウィンドウで作業しているときにステータス テキストを表示するカスタム アドナーを作成しました。
私が現在行っていることは、リソースから必要な adornerElement (つまり、テキストブロックを含むキャンバス) をフェッチし、それをビュー コンストラクターの adorner に次のように渡すことです -
ResourceDictionary reportResourceDictionary = App.LoadComponent(new Uri("Resources/ReportResources.xaml", UriKind.Relative)) as ResourceDictionary;
UIElement adornerElement = reportResourceDictionary["RefreshingReportAdorner"] as UIElement;
mainWindowBlockMessageAdorner = new MainWindowBlockMessageAdorner(mainPanel, adornerElement);
しかし、いくつかのシナリオでは、テキストブロック内のそのテキストを更新したいのですが、他のウィンドウのボタンをクリックすると、テキストを動的に更新する方法がありますか??
リソース ファイルの装飾要素 -
<Grid x:Key="RefreshingReportAdorner">
<Rectangle Fill="Gray"
StrokeThickness="1"
Stroke="Gray"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
<Border BorderBrush="Black"
BorderThickness="2"
Background="White"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<TextBlock i18n:LanguageManager.VisualId="6"
Text="Some Text(Update dynamically)"
Padding="15,10,15,10"/>
</Border>
</Grid>
追加のコードまたはアプローチが必要な場合はお知らせください..