2013-03-15 2 views
1

WPF에 익숙하지 않아 다음 시나리오에서 사용할 컨트롤이 가장 적합한 지침을 찾고 있습니다.ListView 또는 DataGridView

2 개의 목록을 나란히 표시하는 응용 프로그램을 만들어야합니다. 왼쪽 목록에는 사용자 목록이 표시됩니다. 오른쪽 목록에는 사용 권한 목록이 표시됩니다.

왼쪽 목록에서 사용자를 클릭/끌어서 오른쪽 권한 목록에 사용자 권한을 나타내는 확인란 열을 동적으로 추가/제거 할 수 있기를 원합니다. 사용자 권한 열의 수는 0 - 총 사용자 수입니다. 확인란은 기본 데이터에 바인딩되어 사용자 권한을 업데이트해야합니다.

오른쪽 컨트롤 인 ListView 또는 DataGrid를 사용하려면 어떤 컨트롤을 사용해야합니까?

ListView를 사용하고 다음 대답을 가이드로 사용하여 연결된 속성을 만드는 것이 있습니다. WPF MVVM: how to bind GridViewColumn to ViewModel-Collection? 그러나이 확인란은 사용 권한 상태에 대해서만 true/false로 렌더링하지 않습니다. 확인란을 렌더링하기 위해 CellDataTemplate을 동적으로 추가하는 방법을 살펴보면 DataGrid를 사용해야하는지 여부가 질문되었습니다.

DataGrid를 사용한다면 어떻게 동적으로 열을 추가 할 수 있습니까?

가능하면 코드를 최소한으로 유지하고 싶습니다.

+0

두 가지로 원하는 것을 성취 할 수 있어야합니다. 그 중 하나는 당신이 좋아하는 것 중 하나입니다. – CathalMF

+0

@CathalMF에 따르면 대부분의 승/모두를 할 수 있다고합니다. 데이터 그리드 세부 정보가 필요한지 스스로에게 물어보십시오. 열, 정렬, 그룹화, 추가 등. 'Agnostic'뷰가있는 경우 ListView가 좋습니다. 아이템 템플릿을 스타일링하거나 데이터 템플릿을 사용하여 다양한 타입을 표현하고 'boolean'에 체크 박스를 추가 할 수 있습니다. 다른면에서 그리드는 동적 컬럼을 멋지게 처리 할 수 ​​있지만 (큰 문제가 아닌 코드에서만 가능) 각 셀 유형/컬럼의 스타일을 지정할 수 있습니다. – NSGaga

답변

0

처음 보았을 때, 나는 Datagrid가 더 나은 선택 일 것이라고 생각했습니다. 나는 vb.net 사람이야하지만 난 구문이

코드 뒤에 그냥 추가 "에 구글 검색을 항상 수있는이

DataGridView1.Columns.Add("Column Name", "Column Heading") 

과 같은 런타임에 열을 추가하려면 매우 유사하다고 생각 C#에서 런타임에 DataGrid에 대한 열 "을 추가해야합니다.

+0

감사합니다. Brandon, 칼럼 추가에 대한 실제 구문은 Google 검색을 통해 쉽게 얻을 수 있습니다. 그러나 질문에 분명히 분명하지 않은 내 문제는 열을 DataGridView에 동적으로 바인딩 할 수 있도록 뷰 모델을 구성하는 방법입니다. 권한과 사용자 수는 변경 될 수 있으며 두 가지 모두> 1000이므로 그리드의 잠재적 인 크기를 감안할 때 전체 그리드를 포함하는 데이터 세트에 바인딩하는 것이 좋지 않은 것 같지만 어쩌면 그 전선에서 틀렸을 수도 있습니다. – MPD

관련 문제