Как задать свойство модели представления, чтобы задать высоту / ширину для всех связанных дочерних элементов управления - PullRequest
0 голосов
/ 14 февраля 2011

Вот сценарий: у меня есть просмотрщик фотографий flickr, а PhotoBrowserViewModel имеет свойство с именем Image Source.Представление, привязанное к моему PhotoBrowserViewModel, содержит следующий XAML.Моя цель - сделать так, чтобы дочерние элементы управления имели высоту / ширину свойства ImageSource.

        <ItemsControl ItemsSource="{Binding Photos}">
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapPanel/>
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
            <ItemsControl.ItemTemplate>
                <DataTemplate DataType="viewmodel:FlickrPhotoViewModel">
                    <controls:FlickrPhotoControl Margin="10"/> 
<!-- I want to set this control's Width/Height to {Binding PhotoSize}-->
<!-- on the same data context as ItemsControl, not as the data template.-->
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>

1 Ответ

3 голосов
/ 14 февраля 2011

Использовать относительную привязку источника:

{Binding RelativeSource={RelativeSource AncestorType=ItemsControl}, Path=DataContext.PhotoSize}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...