Microsoft MVP성태의 닷넷 이야기
load되지않은 아이템 load하는 방법? [링크 복사], [링크+제목 복사],
조회: 16383
글쓴 사람
최준영 (neptjuno at gmail.com)
홈페이지
첨부 파일
 

WPF에서 개발하던중 궁굼한 점이있어서 이렇게 문의하게 되었습니다.
DB에서 data를 가져와 ListView에 바인딩을 하여 사용하고있던 중이였습니다.
ListView에는 GridView를 붙여 사용하였지요
GridView에는 DB에서 가져온 데이터를 Bind하는 컬럼이외에 DataTemplate를 사용한 CheckBox컬럼이 존재합니다.
여기서 할려고 하는것은 DB에서 데이터를 불러와 Binding을 한 후에 특정 data를 검색하여 미리 CheckBox에 Check를 해 놓으려합니다.
CheckBox는 아래와같은 방법으로 가져와서 check를 하였습니다.

ListViewItem lvItem = (ListViewItem)(listViewTargetList.ItemContainerGenerator.ContainerFromIndex(iCount));
ContentPresenter myContentPresenter = FindVisualChild<ContentPresenter>(lvItem);
DataTemplate myDataTemplate = myContentPresenter.ContentTemplate;
CheckBox myCheckBox = myDataTemplate.FindName("DBListCheckCol", myContentPresenter) as CheckBox;
myCheckBox.IsChecked = true;

여기서 문제는 화면에 보여지지않은 ListViewItem을 가져올경우 아직 load가 되지않은 상태여서 ListViewItem이
null로 넘어오는 것입니다.

저 Item을 강제 로드하거나 다른방법으로 check할수있는 방법이있나요?

전부 Check하는것이 아니라 특정 item을 check해야 하기 때문에 DataTemplate에서 true로 binding하지 않았습니다.
조언 부탁드립니다.








[최초 등록일: ]
[최종 수정일: 5/24/2010]


비밀번호

댓글 작성자
 



2010-05-25 11시36분
WPF 안해본지 꽤 되어서 ^^ 기억이 가물가물한데요.

방법이 2가지 정도 있을 수 있습니다.

첫번째는, GriView의 Item 항목에 대한 가상화를 끄는 것입니다. (제가 얼핏 기억나기로는 속성으로 제공이 되었던 것 같습니다.)
두번째는, 데이터 바인딩을 하는 Model 타입에 CheckBox를 위한 별도의 속성을 추가하는 것입니다. 만약 DB 로부터 바로 가져오는 것이라면 그것을 포함하면서 bool 형식의 속성을 하나 더 정의하시면 되겠지요.
kevin25

... 16  17  18  19  20  21  22  [23]  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5378net9/2/202014693mes 응용프로그램을 .net 웹폼으로 만들기도 하나요? [2]
5377net9/2/202013374.net 사용한 웹폼으로 응용프로그램을 만들경우 [1]
5376영귤9/1/202014337nullable 타입간의 비교연산은 그냥 가능한 건가요? [1]
5375영귤8/30/202016305이벤트와 델리게이트의 차이가 궁금합니다. [2]
5374guest8/27/202018324시작하세요! C# 8.0 프로그래밍 책에 오타가 있습니다. [1]
5373agj8/26/202015361System.Single::ToString()함수의 IL코드를 보았는데 ldnull, throw가 전부입니다. 왜 이렇게 짧죠? [2]
5372민성8/24/202015368안녕하세요 WPF 웹브라우저 컨트롤에서 웹브라우저 자체를 엣지로 할 수가 있나요? [2]
5371서현준8/11/202014008Hyper-V 내부 네트워크 환경 중, VM 에서 인터넷 접속 [1]
5370독자8/11/202012516.net createobject 관련 질문입니다.. [4]
5369독자8/10/202012613c# 8.0 프로그래밍 책에 대한 질문 드립니다 [1]
5368guest8/10/202014895시작하세요! C# 8.0 프로그래밍 책에 오타가 있습니다. [1]
5367박순기8/8/202012874디버깅 시 반전되는 부분 글 색상이나 배경색을 변경하는 방법 [3]파일 다운로드1
5366간절함8/7/202013514하나의 솔루션에서, 32비트 프로젝트에서 다른 64비트 프로젝트 참조하는 방법 궁금합니다. [4]
5365영귤8/6/202012807TimeSpan 구할 때 시간대를 바꿔도 같은 값이 나오는 것 같습니다. [1]
5364박순기8/5/202012971visual studio의 menu bar font size 변경방법 문의 [2]파일 다운로드1
5363클락8/1/202013745c# 9.0 출간 준비 중이신가요? [2]
5361하태7/29/202013221안녕하세요! 바이너리데이터 파싱 질문 드리겠습니다!. [2]
5360진우7/28/202014210엑셀에서 발생하는 모든 이벤트를 감지 할수 있는지 궁금합니다. [6]파일 다운로드1
5358홍길동7/22/202012949개체에서 open 속성이나 매서드가 지원 되지 않읍니다.라고 오류창이 뜨는데. [1]
5357손동섭7/22/202013471책 예제코드... [3]
5355neska7/21/202013310안녕하세요 문의 드립니다 [1]
5354민성7/15/202015280안녕하세요 db연결 문자 보안 [2]
5353형성재7/14/202013965Visual Studio Setup Project에서 VC++2010재배포패키지설치 [4]
5352윤식7/10/202014452닷넷코어 빌드 시 runtimeconfig 파일을 없앨 수 있는지.. [4]
5351runr...7/2/202014178C# 에서 C++ dll 병렬 사용 [1]
5350홍성호6/29/202015785C++에서 정의된 구조체(공유메모리)를 C#으로 공유메모리에서 구조체 변환시 에러가 발생 합니다. [1]파일 다운로드1
... 16  17  18  19  20  21  22  [23]  24  25  26  27  28  29  30  ...