C#에서 ItemsControl의 DataTemplate에 정의된 컨트롤은 어떻게 가져옵니까?
새 테스트.xaml에 다음과 같은 ComboBox 콤보 상자 컨트롤을 추가합니다.
DataTemplate에서 txtID라는 TextBox 컨트롤이나 다른 컨트롤을 어떻게 가져올까요?
테스트xaml.cs 파일에서 txtID라는 TextBox 컨트롤, 즉this를 직접 참조할 수 없습니다.txtID는 접근할 수 없습니다. txtID는 DataTemplate 템플릿의 이름 공간 범위 내에 속하기 때문에 (매개 변수와 유사한 역할 영역) Silverlight4 문서의 Template PartAtrribute를 참조할 수 있습니다.DataTemplate의 TextBox 컨트롤은 어떻게 제공됩니까?다음과 같은 방법으로 사용할 수 있습니다.
방법1:
방법2:
대상
TextBox txtBox = (TextBox)VisualTreeHelper.GetChild(this.cmbTemplate.LoadContent(), 0);
Text의 값은 데이터 원본을 연결하는 ID 속성 (예: {Binding Path=ID}) 이고, 프로그램을 통해 동적으로 생성되는 값이기 때문에, 이 두 가지 방식으로 얻어진 TextBox의 Text는 빈 값이고, tbCategoryName 이름의 TextBlock은 고정된 'Name' 문자열이기 때문에 이 두 가지 방법으로 얻어진 TextBlock의 Text값은 'Name' 이다.
선택한 ComboBoxItem의 TextBox 값 또는 Image의 Source 값을 얻으려면 다음과 같이 하십시오.
더 좋은 방법으로 귀속 데이터 원본을 얻을 때 동태적으로 생성된 값을 얻을 수 있다. 본인은 재능이 없어서 아직 이 방법을 생각해 내지 못했기 때문에 위의 방법으로 얻을 수 있고 해당하는 방법을 찾으면 업데이트를 할 수 있다.
출처:http://blog.csdn.net/wackelbh/article/details/6003947#comments
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
js--- 붙여넣기판,iframe 작업최근에 사용한 두 가지 물건 복사하여 붙여넣기: iframe 작업: aa.htm bb.htm...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.