C# 行元素Y值未绑定到父StackPanel ActualHeight属性

C# 行元素Y值未绑定到父StackPanel ActualHeight属性,c#,data-binding,windows-store-apps,line,actualheight,C#,Data Binding,Windows Store Apps,Line,Actualheight,在我的主页上。我有一个1行2列的网格。两列各有一个StackPanel。左列StackPanel有一个“添加”按钮(因此其初始高度为100个单元);右列StackPanel为空。单击“添加”按钮后,我将两个高度相同的用户控件添加到网格中,每个列/堆栈面板中一个。由于左列中有一个“添加”按钮,因此高度始终比左列高100个单位。我可以看到,每当我单击“添加”时,左侧和右侧Stackpanels的实际高度值都会增加,用户控件也会被创建和添加 现在,我正在尝试向右列StackPanel添加一个Line元

在我的主页上。我有一个1行2列的网格。两列各有一个StackPanel。左列StackPanel有一个“添加”按钮(因此其初始高度为100个单元);右列StackPanel为空。单击“添加”按钮后,我将两个高度相同的用户控件添加到网格中,每个列/堆栈面板中一个。由于左列中有一个“添加”按钮,因此高度始终比左列高100个单位。我可以看到,每当我单击“添加”时,左侧和右侧Stackpanels的实际高度值都会增加,用户控件也会被创建和添加

现在,我正在尝试向右列StackPanel添加一个Line元素,我希望行的长度随着列的长度增加。我的代码当前如下所示:

<ScrollViewer Grid.Column="1" Grid.Row="0" RequestedTheme="Dark" ScrollViewer.HorizontalScrollMode="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollMode="Disabled" ScrollViewer.VerticalScrollBarVisibility="Hidden">
    <StackPanel x:Name="RightContainer" HorizontalAlignment="Left" VerticalAlignment="Top" Width="Auto">
        <!--UserControls added here dynamically-->
    </StackPanel>
</ScrollViewer>
<Line Grid.Column="1" Grid.Row="0" Stroke="White" StrokeThickness="2" Opacity="0.7" X1="100" X2="100" Y1="{Binding ElementName=RightContainer, Path=ActualHeight}" Y2="0" />


然而,这根本没有显示出这条线。如果我设置Y1=“{Binding ElementName=LeftContainer,Path=ActualHeight}”,我会得到一行高度100,但该高度不会随着列的高度增加而增加。知道我可能遗漏了什么吗?

实际宽度/高度不可绑定(它们不会引发更改通知)。您需要处理
SizeChange
事件