Dar*_*Zon 13 c# data-binding wpf binding datatemplate
我正在使用dataTemplate.这是模板:
<ItemsControl ItemsSource="{Binding RAM.Partitions}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding Position, StringFormat={}{0}k}"/>
<Grid Grid.Column="1">
<Border>
<Border.Height>
<MultiBinding Converter="{StaticResource MultiplyConverter}">
<Binding ElementName="LayoutRoot" Path="ActualHeight"/>
<Binding Path="Size" />
<Binding Path="RAM.Size" />
</MultiBinding>
</Border.Height>
</Border>
</Grid>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)
你能看到这条线吗?
<Binding Path="RAM.Size" />
Run Code Online (Sandbox Code Playgroud)
该行引发了一个异常,它应该是因为RAM.Size来自父元素.我怎么能得到那个价值?
提前致谢!
Mat*_*ton 40
所以,你试图去的RAM.Size,你对同一个对象的值ItemsControl越来越它ItemsSource的呢?
看看这是否有效:
<MultiBinding Converter="{StaticResource MultiplyConverter}">
<Binding ElementName="LayoutRoot" Path="ActualHeight"/>
<Binding Path="Size" />
<Binding Path="DataContext.RAM.Size"
RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType=ItemsControl}" />
</MultiBinding>
Run Code Online (Sandbox Code Playgroud)
因此,绑定通过可视树进入ItemsControl,然后绑定到Ram.Size其DataContext 的属性.