0

실버 라이트의 외부 양식에 추가 한 사용자 정의 컨트롤이 있습니다. 사용자 정의 컨트롤은 txtRoleTitle이라는 텍스트 상자를 가지고 있습니다. lbleName이라는 usercontrol 클래스의 속성을 선언하고 아래의 코드와 같이 label 속성에 txtRoleTitle.text를 할당했습니다. 기타 메뉴에서 silverlight 속성 패널의 을 설정했습니다. labelName을 "Landlord"로 변경 한 다음이 사용자 정의 컨트롤 중 하나를 outerform에 추가하고 labelName을 Tenant로 설정합니다. 그러나 실버 라이트 다이얼로그를 실행할 때 이것이 작동하지 않는 것 같습니다. labelName 값은 디자인 및 런타임 중에 텍스트 상자에 나타나지 않습니다.Silverlight : usercontrol의 속성 값을 텍스트 상자에 어떻게 할당합니까?

다음은 아래 코드입니다. 감사

public partial class UserRoleDetails : UserControl 
{ 
    public string labelName { get; set; } 

    public UserRoleDetails() 
    { 
     InitializeComponent(); 

     this.txtRoleTitle.Text = labelName; 
    } 

}

답변

0

나는 의존성 속성 솔루션을 살펴했다. 이것이 제대로 구현되면 작동 할 수도 있지만, 내가하려는 일에 대해 이것은 과도한 해결책입니다. 그래서 지금은 작동하는 간단한 솔루션을 아래 코드를 참조하십시오 :

public partial class UserRoleDetails : UserControl 
{ 
    public string labelName 
    { 
     get {return this.txtRoleTitle.Text;} 
     set {this.txtRoleTitle.Text = value;} 
    } 

    public UserRoleDetails() 
    { 
     InitializeComponent(); 
    } 
} 
0

당신은 labelName라고 속성에 값이되지 않습니다 과제의 시점에서, 당신의 생성자에서 txtRoleTitle.Text의 값을 설정합니다.

당신은 labelName을 종속성 속성으로 만들고 사용자 정의 컨트롤의 xaml에서 txtRoleTitle 컨트롤을 바인딩 할 필요가 있다고 생각합니다. 이 예를 살펴 : 모든 http://stevenhollidge.blogspot.co.uk/2012/03/dependency-properties-in-user-control.html