[問題] WPF mainwindow usercontrol傳值問題
我有一隻程式他是一個視窗裡面依條件去顯示不同的usercontrol(以下簡稱uc)
如果是從主視窗送值到uc就很簡單
UserControl uc = new UserControl();
uc.memberfunction();
.
.
.
我遇到的問題是
uc裡面執行完某段程式後,要將執行的結果透過主視窗的某個function去設定UI
這個不知道該怎麼做
另外偷渡問個程式架構的問題
https://imgur.com/a/rrXvtfe
我上面的問題其實是要做一個統一顯示訊息的功能
這個顯示訊息的元件是寫在主視窗裡
所有嵌在視窗裡的UserControl的相關訊息都可以透過這個元件顯示在ui上
它其實就是一個queue,元件message property binding好queue之後
只要透過某個function一直enqueue就可以達到我要的效果
現在是圖片中紅框的DataGrid會依照不同的功能去切換usercontrol
switch (rule)
{
case "1":
usc = new UserControlHome();
GridMain.Children.Add(usc);
break;
case "2":
usc = new ucSSIS();
GridMain.Children.Add(usc);
break;
.
.
.
}
如果之後DataGrid改成一個TabControl
可以一次new很多個usercontrol加到tabitem再加到tabcontrol裡
然後tabitem還可以dockable讓usercontrol之間也可以做到傳訊息
或是主視窗一次可以對好幾個usercontrol傳訊息的話
現在寫的東西可能在那個時候就不適用了
一般來說這樣要怎麼做比較好
我有想過寫一個MessageCenter用一個執行緒專門來處理這些交換資料的問題
可這樣感覺好麻煩,不知道一般來說這樣的功能都是怎麼去實現的
再麻煩大家了
--
推
09/05 19:33,
09/05 19:33
推
09/05 19:34,
09/05 19:34
推
09/05 19:38,
09/05 19:38
推
09/05 19:39,
09/05 19:39
推
09/05 19:56,
09/05 19:56
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.153.217
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1551065393.A.296.html
推
02/25 12:54,
6年前
, 1F
02/25 12:54, 1F
→
02/25 12:55,
6年前
, 2F
02/25 12:55, 2F
→
02/25 12:55,
6年前
, 3F
02/25 12:55, 3F
→
02/25 12:57,
6年前
, 4F
02/25 12:57, 4F
推
02/26 01:53,
6年前
, 5F
02/26 01:53, 5F
→
02/26 01:53,
6年前
, 6F
02/26 01:53, 6F
→
02/26 01:53,
6年前
, 7F
02/26 01:53, 7F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章