2
我需要根據需要動態生成儘可能多的標籤,並在需要時訪問它們中的每一個。但FindName()一直沒工作......找不到動態生成的控件,使用WPF中的FindName()
下面是我做什麼
一個簡單的例子,我有一個自定義編寫的類,從Label
類繼承,稱爲myLabel。 我已經在我的WPF項目上放了一個按鈕。通過點擊它,myLabel類的實例會動態地創建並添加到網格(myGrid)像這樣:
myLabel LBL = new myLabel();
LBL.Height = 30;
LBL.Name = "MyLabel1";
LBL.Content = "I am a label.";
myGrid.Children.Add(LBL);
還有一個叫「改變顏色」,它應該找到前面創建的標籤,並改變它的按鈕前景色。下面是按鈕的單擊事件中的代碼:
Label Thelabel = (Label)myGrid.FindName("MyLabel1");
Thelabel.Foreground = Brushes.Azure;
的問題是,FindName()
從來沒有發現任何東西,總是空! 我該如何解決這個問題?
非常感謝!我用第一種方法,它的工作! :) – Ali
優秀!當你嘗試的第一件事情時,它總是很好:) –
是的,這是非常激勵:) 再次謝謝chamila_c;) – Ali