2009-09-23 1 views
0

이 예제는 학습을위한 것입니다 ...Microsoft Expression Bend 3에서 기존 개체를 데이터 원본으로 만드는 방법은 무엇입니까?

Visual Studio C#에서 프로젝트를 시작했습니다. 매우 간단합니다. 코드 뒤에 인스턴스화 된 Phone 클래스가 있습니다. 지금 혼합 3에이 프로젝트를 가져

public partial class Window1 : Window 
{ 
    public Window1() 
    { 
     InitializeComponent(); 
    } 

    private void Window_Loaded(object sender, RoutedEventArgs e) 
    { 
     Phone Nokia = new Phone(); 
     Nokia.PhoneMake = "Nokia"; 
    } 
} 

그래서 그래픽 요소를 추가하고 PhoneMake 속성에 바인딩 할 수 있습니다 : 나는 혼합 3.

public class Phone:DependencyObject 
{ 
    public string PhoneMake 
     { 
      get { return (string)GetValue(PhoneMakeProperty); } 
      set { SetValue(PhoneMakeProperty, value); } 
     } 

     public static readonly DependencyProperty PhoneMakeProperty = 
      DependencyProperty.Register("PhoneMake", typeof(string), typeof(Phone)); 

} 

뒤에 코드를 사용하여 GUI를 추가하고 싶습니다 노키아 개체.

라이브 데이터 소스 추가 버튼을 클릭하면 새 개체를 인스턴스화하는 옵션 만 제공되며 Nokia 개체를 선택하는 방법을 볼 수 없습니다.

이 인스턴스화 된 객체 Nokia를 데이터 소스로 어떻게 설정합니까?

블렌드하여이 작업을 수행 할 수 있습니까?

비주얼 스튜디오 C# 익스프레스 2008을 사용하고 3

답변

1

당신은 데이터 창에 데이터 바인딩을위한 새로운 데이터 소스로 CLR 개체를 인스턴스화 할 수 있습니다 혼합.

사용할 수업이있는 프로젝트가 만들어 졌는지 확인하십시오.

데이터 창의 오른쪽 위 모서리에있는 아이콘을 클릭하고 새 개체 데이터 소스 정의를 선택하십시오. 이것은 당신이 프로젝트에서 CLR 클래스를 선택할 수있게 해줄 것입니다 (나는 그것이 자격을 얻으려면 반드시 기본 생성자를 가져야한다고 생각합니다). 개체가 데이터 소스로 래핑됩니다.

개체를 데이터 창에 표시하면 드래그 앤 드롭 또는 데이터 바인딩 대화 상자를 사용하여 데이터 바인딩에 사용할 수 있습니다 (속성 표식을 통해 각 바인딩 가능한 속성의 측면에있는 작은 사각형 속성 관리자).

분명히 데이터 바인딩 된 목록을 만들려면 개체를 여러 개체로 구성해야합니다. ObervableCollection <>을 사용하는 것이 좋습니다.

런타임시 코드에서도 데이터 소스로 인스턴스화 된 객체에 액세스 할 수 있습니다. 데이터 원본을 만든 개체를 찾으려면 FindResource를 사용하여 원본을 만들 때 지정한 이름으로 데이터 원본을 검색합니다.

+0

"사용하려는 클래스가있는 프로젝트가 빌드되었는지 확인하십시오." - 이것은 중요합니다. 나는 이것을 언급하지 않은 책에서 튜토리얼을 따르고있었습니다. – AlistairH

관련 문제