2
원하는만큼 많은 라벨을 동적으로 생성하고 원하는 경우 모든 레이블 중 하나에 액세스해야합니다. 하지만 FindName()는 WPF에서 FindName()을 사용하여 동적으로 생성 된 컨트롤을 찾을 수 없습니다.
는 여기에 내가 myLabel라는Label
클래스에서 상속 된 사용자 정의 작성된 클래스를 가지고 내가
을하는 일의 간단한 예제 ... 작동되지 않았습니다. 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