2009-11-09 6 views
-1

클래스가 있습니다.MVVM Silverlight - XAML에서 사용자 지정 요소 컬렉션의 속성에 기존 컨트롤을 할당 할 수 없습니다.

public class Item 
    { 
     public string A { get; set; } 
     public Control B { get; set; } 
    }

Silverlight에서 MVVM을 사용하고 있습니다. 표준보기에서 상속 된 사용자 지정보기가 있습니다. 사용자 정의보기에는 위에 설명 된 항목을 저장해야하는 public 속성

public ICollection MyItems { get; set; }
가 있습니다.

내보기의 xaml 있음

 
xxxx.MyItems> 
    Item A="someText" B="_existingButton" /> 
    Item A="someText2" B="_existingButton2" /> 
/xxxx.MyItems> 

Bz에 대한 값을 할당하려고하면보기의 Initialize() 메서드가 실패합니다.

사용자 지정 컬렉션에 대한 기존 요소에 대한 참조를 할당하려면 어떻게해야합니까? 목?

답변

0

달성하려는 목표를 정확히 이해하지 못했지만 해결 방법을 찾는데 도움이되도록 먼저 파일 숨김 파일 (예 : .xaml.cs) 파일에서 작업을 시도하는 것이 좋습니다.

이렇게하면 컴파일러와 인텔리 센스에서 훨씬 많은 도움을 얻을 수 있습니다.

코드에서 원하는 것을 얻었 으면 xaml 파일에서 코드를 구현하십시오.

+0

사용자 지정 개체 컬렉션이 포함 된보기에서 속성을 만들었습니다. 콜렉션의 항목은 뷰의 기존 요소에 대한 참조를 포함 할 수 있습니다 (위의 샘플에서 _existingButton 참조). XAML에서 컬렉션을 만들고 채우는 방법을 알아 냈지만 기존 요소에 대한 참조를 설정하면 XamlParseException AG_E_PARSER_BAD_PROPERTY_VALUE가 발생합니다 (컬렉션의 첫 번째 항목의 위치는 B = "에 있습니다). 요소를 만들거나 _existingButton을 아직 만들지 않았 으면 XAML에서 바인딩을 연기 하시겠습니까? – Kirill