“MyGrid”有
DataContext
(在代码后面分配)有三个公开 属性:
- '图像'
- 'H1'
- 'H2'
以下代码的问题是,对'h1'和'h2'的绑定设置为'Images'集合的元素,但它们应设置为'MyGrid'的绑定。
我的代码
<Grid x:Name="MyGrid">
<FlipView ItemsSource="{Binding Images}">
<FlipView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="{Binding h1}"></RowDefinition>
<RowDefinition Height="{Binding h2}"></RowDefinition>
</Grid.RowDefinitions>
<Image Grid.Row="0" Source="{Binding}"></Image>
<TextBlock Grid.Row="1" Text="AAA"></TextBlock>
</Grid>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
</Grid>
我应该如何更改'h1'和'h2'绑定?
谢谢!
答案 0 :(得分:1)
使用ElementName指定绑定源:
<Grid x:Name="MyGrid">
<FlipView ItemsSource="{Binding Images}">
<FlipView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="{Binding ElementName=MyGrid, Path=DataContext.h1}"></RowDefinition>
<RowDefinition Height="{Binding ElementName=MyGrid, Path=DataContext.h2}"></RowDefinition>
</Grid.RowDefinitions>
<Image Grid.Row="0"
Source="{Binding}"></Image>
<TextBlock Grid.Row="1"
Text="AAA"></TextBlock>
</Grid>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
</Grid>