“{Binding RelativeSource = {RelativeSource FindAncestor

时间:2010-01-13 16:00:23

标签: wpf data-binding prism

我正在研究一个Prism Composite应用程序,我将不同的视图加载到一个区域。我需要确保我加载的视图大小调整到与区域相同的高度。每个视图都是一个用户控件,其中Grid作为外部元素。我正在使用以下代码

    <Grid  Height="{Binding RelativeSource={RelativeSource FindAncestor,
        AncestorType={x:Type ItemsControl}}, Path=ActualHeight}">

设置网格的高度。我的问题是,这个确切的代码适用于一个视图,而不适用于另一个视图。在不起作用的网格上,高度是我所期望的,就像没有设置Height属性一样。

有关如何解决这个问题的任何建议。

1 个答案:

答案 0 :(得分:2)

在不知情的情况下,我会说这个问题真的只是归结为一个具有约束力的问题。调试绑定很棘手,但这里有一篇非常好的文章: http://www.beacosta.com/blog/?p=52

使用Bea描述的“diagnostics:PresentationTraceSources.TraceLevel = High”方法,通过观察输出窗口找出实际绑定的元素。这应该有助于弄清楚它失败的原因。

祝你好运。