2011-05-06 2 views
6

디자인 패널에서 VS를 내 ListView에 샘플 데이터로 채우려면 어떻게해야합니까?VS WPF 디자인 패널에서 컬렉션 데이터를 표시하는 방법?

나는 혼란 스럽다. 나는 독서와 인터넷 검색의 공정한 비트를했고 견고한 대답을 찾을 수 없습니다. VS 디자인 패널에 가짜 데이터를 표시하면 몇 가지 변경 사항을 디버깅 할 필요가 없으므로 테마 작업 속도가 크게 향상됩니다.

XAML :

<ListView DataContext="{Binding}" 
      Name="PeopleListView"> 
    <ListView.ItemTemplate> 
     <DataTemplate DataType="Person"> 
       <WrapPanel> 
        <TextBlock Text="{Binding Path=FirstNameView}"/> 
        <TextBlock Text="{Binding Path=LastNameView}" /> 
       </WrapPanel> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

COLLECTION :

public class People : ObservableCollection<Person> 
{ 
    public People() 
    { 
     this.Add(new Person() { FirstName = "John", LastName = "Doe" }); 
     this.Add(new Person() { FirstName = "John", LastName = "Doe" }); 
     this.Add(new Person() { FirstName = "John", LastName = "Doe" }); 
    } 
} 

메인 :

여기

내 코드입니다

편집 & PROGRESS :

나는 매트 웨스트에서 제공하는 링크에있는 튜토리얼을 읽어. 그들은 매우 도움이되었다. 나는 거의 알아 냈어.

Designer가 샘플 데이터를 표시하려고 할 때 문제가 발생했습니다. 내 샘플 속성 : Writable property or collection expected이 오류가 발생합니다. 나는 그 오류를 이해한다. 나는 각 속성에 set 문을주지 않고 그것을 고치는 법을 모른다.

사람 클래스 :

public class Person : INotifyPropertyChanged 
{ 
    private string _FirstName; 
    private string _LastName; 

    public string FirstName 
    { 
     get { return this._email; } 
     set 
     { 
      this._FirstName = value; 
      OnPropertyChanged("FirstName"); 
      OnPropertyChanged("FirstNameView"); 
     } 
    } 
    public string LastName 
    { 
     get { return this._password; } 
     set 
     { 
      this._LastName = value; 
      OnPropertyChanged("LastName"); 
      OnPropertyChanged("FirstNameView"); 
     } 
    } 
    public string FirstNameView 
    { 
     get { return this.FirstName; } 
    } 
    public string LastNameView 
    { 
     get { return this.LastName; } 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 
    private void OnPropertyChanged(string propertyName) { /*...*/ } 
} 

PeopleViewSampleData.xaml :

<sample:People xmlns:sample="clr-namespace:MyProgram"> 
    <sample:Person FirstNameView="John" LastNameView="Doe" /> 
</sample:People> 

편집, 해결책 : 여기

내 코드입니다
를 갖는, DataContext:DataContext 설치가 다음과 같이 작동하게되었습니다. 누락 된 것이 있으면 아무 것도 표시되지 않습니다.

<ListView ItemsSource="{Binding}" 
      DataContext="{Binding}" 
      d:DataContext="{d:DesignData Source=/SampleData/PeopleListViewSampleData.xaml}"/> 

답변

0

사람들 목록보기에서 DataContext를 설정하고 ItemsSource를 설정해야한다고 생각하지 않습니다. DataContext = {Binding} 제거하십시오. 이것이 귀하의 설계 문제를 해결할 수 있는지 여부는 확실하지 않습니다. 일반적으로 일반적으로 d : DesignData 및 d : DesignInstance 속성을 사용하는 것이 좋습니다. 다음은 자습서입니다. http://karlshifflett.wordpress.com/2009/10/28/ddesigninstance-ddesigndata-in-visual-studio-2010-beta2/

+0

어떻게 해결할 수 있습니까? 이 오류는 다음과 같습니다 :: 'DataContext'속성을 'ListView'유형에서 찾을 수 없습니다. ','기호 '를 해결할 수 없습니다', '기호'DataContext '를이 코드로 해결할 수 없습니다 :'<목록보기 d : DataContext = "....."' – PiZzL3

+0

@ PiZzL3 : 위의 링크 된 다른 기사를 읽어야합니다. http://karlshifflett.wordpress.com/2009/10/21/visual-studio-2010-beta2- sample-data-project-templates/이것은'd :'네임 스페이스를 추가하는 방법을 설명합니다. – ChrisWue

+0

두 번째 링크에 감사드립니다. 안타깝게도 이것이 작동하지 않습니다. 내가 디버그하지 않으면 ListView에 데이터가 표시되지 않습니다. – PiZzL3

관련 문제