-1
我正在使用C#(WPF)來將項目添加到列表中;夠簡單。使用表單的人添加到列表中後,不過,我需要的主要形式,以「更新」,比如我想要一個標籤的文本與人括號,我會做這樣的數量更新:C#更新表單內容作爲列表更新
((TabItem)tabControl.Items[0]).Header = "All Patients ("+ newPatientList.Count.ToString() + ")";
這適用於已經填充了列表的情況,但如果在應用程序運行時使用表單手動添加到列表中,則不會自行更新。
相關代碼: 主窗口,打開窗體中添加人列出
private void button_Click(object sender, RoutedEventArgs e)
{
Window1 addPx = new Window1(this);
addPx.Show();
}
窗口1,手動添加人列出
public MainWindow Main { get; set; }
public Window1(MainWindow main)
{
InitializeComponent();
this.Main = main;
}
private void adpxbtn_Click(object sender, RoutedEventArgs e)
{
if (lstname.Text != string.Empty || frstname.Text != string.Empty || age.Text != string.Empty ||
rm.Text != string.Empty || status.SelectedValue != null)
{
Main.AddNewPatient(lstname.Text, frstname.Text, int.Parse(age.Text), rm.Text, "", int.Parse(status.SelectedItem.ToString()));
this.Close();
} else
{
MessageBox.Show("You're missing some information!");
}
}
那麼,怎樣才能我讓主窗口知道刷新信息?當我需要顯示這個列表時,這會變得特別有用,並且在人員被添加/刪除時自動更新。
謝謝
您是否考慮過使用MVVM的正確設計模式?我的意思是,如果您想爲此框架命令編寫代碼,那麼如何更新它的答案與WinForms相同 - 告訴您要更新的控件,它需要自行刷新。顯然這就是Main.AddNewPatient應該做的事情,所以首先調試它,因爲你沒有提供給我們。 – hoodaticus
同意@hoodaticus你的問題可能在Main.AddNewPatient中。你記得InvokeRequired嗎? –