2012-02-19 3 views
5

C#에서 참조로 전달하는 방법이 궁금합니다. 함수에 대한 참조로 WPF DataGrid 컨트롤을 전달하고 천천히 함수를 DataGrid.Items 컬렉션에 추가하면 UI의 DataGrid가 각각의 새 DataGrid.Items.Add() 호출로 업데이트됩니까? 또는 함수가 반환 될 때만 업데이트됩니까? 전 시나리오를 달성하고 싶습니다. 참고로 전달하면 트릭을 수행하지 않으므로이를 수행하는 방법에 대한 조언을 많이 듣겠습니다. 미리 감사드립니다.참조로 전달하는 것은 C#에서 실제로 어떻게 작동합니까?

답변

2

이전 시나리오를 원할 경우 Add() 메서드를 사용한 후 다음 문에서 DataGrid의 UpdateLayout() 함수를 호출하십시오. 희망이 도움이 될 것입니다.

0

Ethicallogics가 내가 하위 클래스를 작성하고 추가를 재정의하여 각 시간마다 UpdateLayout을 호출하도록 확장 한 것과 마찬가지로, 걱정할 필요가 없습니다.

일반적으로 모든 .net 클래스 [특히 UI와 관련된 모든 항목]의 하위 클래스를 만드는 것이 좋습니다. 사용자 지정 요구 사항을 실행하면 나중에 수행 할 필요가 없습니다. 언제나 자신 만의 서브 클래스를 사용하십시오.

2

참조로 전달하는 것은 어쨌든 상황과 관련이 없습니다. 참조로 전달하면 (즉, ref) 호출하는 범위의 변수에 할당 할 수 있습니다. 당신은 그렇게하려고하지 않습니다. DataGrid 참조에만 액세스하고 Items 필드에 액세스하고 싶습니다. 그건 ref을 전혀 필요로하지 않습니다.

관련 문제