Silverlight에서 사용자 지정 컨트롤을 만들 때 속성을 public으로 선언 할 수 있으며 XAML 선언을 만들 때 노출 될 것입니다.XAML을 통해 사용자 지정 Silverlight 컨트롤에 대해 목록 및 바인딩 속성 값 선언
public class MyControl : UserControl
{
public string Title {get; set;}
}
그리고이 : 그래서 쉽게 같은 것을 할 수있는 속성은 항상 간단한 유형, 나는 1 이상의 열을 정의하는 목록과 같은 복잡한 속성을 가질 수 없습니다 그러나
<local:MyControl Title="Hello World" />
i에 바인딩 할 필드를 식별합니다. 티. 기존의 컨트롤로 XAML에서이 값을 정의하는 구문은 정직 :
내가 클래스 정의에서이 작업을하는 방법에 대한 손실에 있어요 그러나<local:MyControl Title="People List">
<local:MyControl.Columns>
<local:MyControlColumn Heading="Column 1" Binding="{Binding Name}" />
<local:MyControlColumn Heading="Column 2" Binding="{Binding Age}" />
</local:MyControl.Columns>
</local:MyControl>
:
public class MyControl : UserControl
{
public string Title {get; set;}
public IEnumerable ItemSource {get; set;}
public ObservableCollection<MyControlColumn> Columns {get; set;} // ?
}
public class MyControlColumn
{
public string Heading {get; set;}
public ??? Binding {get; set;} // ?
}
수있는 사람 점 노출 된 목록 및 바인딩 속성을 만들기위한 올바른 방향으로 나에게?
그게 내가하고있는 일을 설명해주었습니다. 실제로 설정에 따라 크게 맞춤화 된 DataGrid * 또는 ListBox처럼 작동하는 컨트롤이 필요합니다. 내 수업을 간단하게 포장하고 다시 사용하도록 계획하지만 제공된 값은 해당 컨트롤에 직접 적용되지 않으므로 (그 속성을 모두 공개하고 싶지는 않습니다.) 그 중 하나에서 상속받을 수는 없습니다. – David