WP7의 바인딩에 문제가있어 도움이 될만한 예제 나 블로그를 찾을 수 없습니다. 내 응용 프로그램에는 ViewModel이 있으며 기본 페이지 (목록)에서 편집/세부 정보 페이지로 이동할 때 ListPicker 및 Object 데이터가 동일한 페이지에 올바르게 바인딩되는 데 문제가 있습니다. 나는이 일을 할 수 있었지만 이것을위한 가장 좋은 방법을 찾고 싶다. 예를 들어 WP7의 마스터 세부 바인딩
내가 클래스가 있습니다 클래스는 또한 내 뷰 모델에서 참조public class Person
{
public string Name { get; set; }
public string Gender { get; set; }
}
:
public Person selectedPerson;
private Person _person
{
get { return _person; }
set
{
_person= value;
NotifyPropertyChanged("selectedPerson");
}
}
나는 Detail.xaml 페이지가 있습니다
<StackPanel x:Name="PersonEditPanel">
<TextBox x:Name="NameTextBox" Text="{Binding Name}" />
<TextBox x:Name="GenderTextBox" Text="{Binding Gender}" />
</Stackpanel>
을 그리고 내 코드 뒤에, 나는있다 :
private void PhoneApplicationPage_Loaded(object sender, EventArgs e)
{
DataContext = App.ViewModel.selectedPerson;
}
위 내용은 유용하지만 사용자 환경을 개선하기 위해 성별 속성에 ListPicker를 추가하고 싶습니다.
는이를 달성하기 위해, 나는 새로운 클래스 추가 :
public class TypeList
{
public int ID { get; set; }
public string Name { get; set; }
}
을 그리고 내 뷰 모델에 관찰 모음을 추가 : 내가 시도
private ObservableCollection<TypeList> _PersonGenderTypeList;
public ObservableCollection<TypeList> PersonGenderTypeList
{
get { return _PersonGenderTypeList; }
set
{
_PersonGenderTypeList = value;
NotifyPropertyChanged("PersonGenderTypeList");
}
}
많은 옵션을하고있는 유일한 방법은 어디서 찾을 수 있습니다 정확하게 바인딩 된 사람 이름과 성별 목록을 선택하여 동시에 (동시에) 채울 수 있습니다.
실제 해킹과 같은 느낌이며 모범 사례가 아닙니다. 내가 여기에 뭔가를 놓치고 있습니까? 그렇다면 이것을 달성하는 더 좋은 방법이 있습니까?
나는 그 일을한다고 생각하는데, 당신이 언급 한 수업에서 유스 케이스에서는 괜찮다고 생각합니다. datacontext를 설정하려면 이름, 성별 및 ObservableCollection PersonGenderTypeList가 노출 된 PersonViewModel을 만들어야합니다. 나에게 이것은 처음부터했던 것처럼 아이템 소스를 설정하는 것보다 더 나쁜 해킹처럼 들린다. –