StackPanel имеет DataContext, как заполнить ListPicker значениями параметров из другого? - PullRequest
2 голосов
/ 14 мая 2011

Я новичок в разработке WP7, поэтому связывание для меня все еще немного чуждо.У меня есть StackPanel, который я установил DataContext с привязкой TwoWay для редактирования данной записи.Но внутри "формы" у меня есть ListPicker, который я хочу заполнить возможными значениями из таблицы поиска.

В настоящее время я создал DataTemplate и установил свойство ItemsSource объекта ListPicker.Поскольку единственный TextBlock в DataTemplate привязывается к контексту данных ItemsSource, как мне затем связать SelectedItem ListPicker с контекстом данных StackPanel?

Ответы [ 2 ]

1 голос
/ 14 мая 2011

Ваш объект, который вы назначаете для DataContext StackPanel, должен предоставлять соответствующие свойства, например:

class MyData
{
    public Data { get; set; }
    public Selected { get; set; }
}

Затем вам необходимо связать ListSicker's ItemsSource: ItemsSource={Binding Data} и ListPicker's SelectedItem: SelectedItem={Binding Selected}.

Если вы хотите, чтобы ListPicker реагировал при изменении свойства MyData Selected, вам потребуется класс MyData для реализации интерфейса IObservable.То же самое относится и к свойству Data, эта коллекция должна сообщать, когда происходит изменение состояния, поэтому сделайте его типа: ObservableCollection<ElemType>.

0 голосов
/ 15 мая 2011

Проверьте это: Использование DataContext родителя (WPF - динамическое связывание команд меню)

Проверьте все ответы и посмотрите, поможет ли один из них.

...