2010-12-11 3 views
0
  • VS2010 -C# 정수를 입력 할 수있는 TextBox가 있고 UniformGrid는 정수형 UniformGrid 셀로 동적으로 생성됩니다. 이제 UniformGrid 각 셀에 TextBox에 추가하고 싶은 경우에, I는 다음 (예를 들어, INT : 5 인) 것 :

텍스트 상자 [] TB = 새로운 텍스트 상자 [5]; (int i = 0; i < 5; i ++)
{
tb [i] = new Textbox();
UniformGrid1.Children.Add (tb [i]);
} 잘 작동 Ok..that
WPF에서 TextBox, Button 등으로 동적 그리드를 채우십시오.

. 그러나 문제는 정의 된 디자인 속성을 사용하여 Texboxes, Buttons 및 Labels에 몇 가지 Texboxes, Button 및 Labels를 채우고 UniformGrid 셀 안에 그리드를 삽입해야 할 때도 발생합니다. 각 컨트롤에 대한 배열을 만들고 루프의 각 배열 속성을 정의하면 매우 지저분해질 것입니다. 그것은 혼란 스러울뿐 아니라 UniformGrid의 Cell Grid에 텍스트 상자를 넣을 수 없습니다. 아이들은 대신 TextBox 위에 그리드를 추가합니다.

더 좋은 방법이 있나요?

답변

1

DataGrid과 같은 특수 컨트롤을 사용하면 모델에 양방향 바인딩이 자동으로 생성되어 유지 보수가 용이하다는 장점이 있다고 생각합니다. 예를 들어 here (Google에서 "wpf DataGrid 예제 튜토리얼"과 같은 것을 묻는다면 더 많이)

2

대신 데이터 바인딩을 사용해야합니다.

ItemsControl을 ObservableCollection에 바인딩하고 UniformGrid를 ItemsControl의 컨테이너로 사용하십시오.

관련 문제