0
我有一個菜單欄,一個菜單和一個menuItem(稱爲BlaBlub)的WinForm。
菜單項已經CheckOnClick = True
和(ApplicationSettings)->(PropertyBindings)->Checked
映射到設置SomeBool
(bool類型,範圍用戶,初始值=假).NET WinForms PropertyBinding
值正確地從設置文件讀(ⅰ使用標籤來檢查它,也當我在會話之間對文件進行更改時,菜單項被選中/取消選擇)。
但是,使用下面的代碼我無法打開應用程序,點擊菜單項,然後將改變後的值迴文件
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Properties.Settings.Default.Save();
}
private void Form1_Load(object sender, EventArgs e)
{
label1.Text = string.Format("Value is: {0}", Properties.Settings.Default.SomeBool);
}
我能夠存儲值迴文件,使用下面的代碼,但由於這似乎不是慣用的方法,所以我仍然在尋找一些啓示來說明如何做到這一點。
private void blaBlubToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.SomeBool = blaBlubToolStripMenuItem.Checked;
}
嗯。那麼如何避免在我的應用程序中增加大量冗餘代碼? – yas4891
恐怕說到「綁定」menuitem的沒有內置框架。所以你必須手動配置控制狀態並在綁定屬性值改變時管理它的更新。 – Reddog
這很不幸。有沒有辦法在WPF中做到這一點? – yas4891