-2
私はいくつかのThreads
のwpfプロジェクトを持っていて、またにはprogressbar
とTextBlock
があり、スレッドの進行状況を示しています。次のように私のコードは次のとおりです。WPFのスレッドにusercontrolを表示するには?
XAML:
<Button Command="{Binding Start}" /> //This button start the thread
のViewModel:
private ICommand _start;
public ICommand Start
{
get
{
if(_start == null)
{
_start = new RelayCommand(
param => Start_Thread());
}
return _start;
}
}
private void Start_Thread()
{
...//Some irrelevant juedgement codes here
Thread t = new Thread(new ThreadStart(StartSample));
t.Start();
}
はSO StartSample
スレッドで、私は現在の進行状況を示すためにUsercontrol
をポップアップします。
UserControlのXAML:
<UserControl
<TextBlock Text="{Binding Info, Source={StaticResource Resources}}" />
<mui:ModernProgressRing Style="{StaticResource RotatingPlaneProgressRingStyle}" IsActive="True" />
</UserControl>
SOメインスレッドが実行されている間、私はUserControl
をポップアップ何をすべきか。前もって感謝します!
'UserControl'sは、「ポップアップ表示」はありません。他のコンテナにさまざまな方法で表示することができます(たとえば、「Visibility」プロパティの変更、バインドされたコンテンツプロパティの設定など)。スレッドが関与していることはほとんど関係ありません。標準的なデータバインディングのプラクティスを使用している限り、WPFはクロススレッドの側面を処理します。 Stack Overflowからの良い答えが必要な場合は、質問を改善する必要があります。あなたが試したことを示す良い[mcve]を提供し、何が問題になっているかを具体的に説明してください。 –