如何使视图模型的属性设置所有关联子控件的高度/宽度

时间:2011-02-14 19:51:34

标签: c# .net wpf mvvm binding

以下是场景:我有一个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 个答案:

答案 0 :(得分:3)

使用相对源绑定:

{Binding RelativeSource={RelativeSource AncestorType=ItemsControl}, Path=DataContext.PhotoSize}