我正在爲數據庫遷移做一個應用程序。我用WPF GUI製作了一個多線程框架。我把成纔像這樣在我的命名空間/文件夾:WPF「部分形式」
class Something : Migrator {
public override Run(){
//I would need this
string valueOfMyCustomFieldOnForm = xyz.Text; //example
int count = 500;
for(int i = 0; i < 500; i++){
//do something here
OnProgressChanged(...); //call event, GUI is updated
}
OnCompleted(...); //migration completed
}
}
然後使用反射,我把所有的類在命名空間在下拉列表中。當我在列表中選擇一個並單擊「開始」時,將啓動Run方法中帶有代碼的線程。
DB Host: TEXTBOX
DB Username: TEXTBOX
DB Password: TEXTBOX
--
Migrator custom field 1: TEXTBOX
Migrator custom field 2: TEXTBOX
...
--
List with migrated items - irrelevant
GUI上很少有commong字段(如數據庫主機,用戶名等)。但對於其中一些遷移者,我需要GUI上的自定義字段(例如3個額外的文本框字段)。 什麼是在WPF中做到這一點的最佳方式?我需要GUI的一部分是動態的。