Ваш Button
находится в пределах ItemsControl
, который связан с вашим MyList
свойством, которое, как я предполагаю, является списком или каким-то IEnumerable
типом.DataContext
каждого Button
будет элементом в MyList
, который он представляет.
Вы правы, что для привязки кнопок к вашей модели представления верхнего уровня вам потребуется какой-то относительныйпривязка источника, которую Silverlight (3) не поддерживает.
Я создал относительную замену привязки источника для Silverlight здесь:
http://www.scottlogic.co.uk/blog/colin/2009/02/relativesource-binding-in-silverlight/
Однако для WP7, гдепроизводительность действительно имеет значение, я бы ее не использовал!
Почему бы просто не создать необходимые отношения в вашей модели представления?то есть для каждого элемента в MyList
(назовем их MyListItem
), предоставьте свойство, которое указывает на родительское представление Model.Другими словами, имейте свойство MyListItem.Parent
, которое указывает на MyViewModel
.