WPF線程中獲取控件的值和給控件賦值


WPF中使用線程操作控件,按平常的操作方法操作的話會報異常:調用線程無法訪問此對象,因為另一個線程擁有該對象。所以我們要使用Dispatcher類的BeginInvoke()與Invoke()方法。BeginInvoke()異步執行,不等待委托結束就更新,Invoke()同步執行,需等待委托執行完。

有一個Lable控件:

<Label x:Name="test" Content="測試"></Label>

1.獲取控件的值:

string lblContent ="";

Dispatcher.Invoke(new Action(delegate
{
       lblContent=test.Content.ToString();

      //如果有其他操作也可以寫在這里
}));

2.給控件賦值:

Dispatcher.Invoke(new Action(delegate
{
       test.Content="給控件賦值";

      //如果有其他操作也可以寫在這里
}));


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM