在我的主页中。我有一个有1行和2列的网格。两列都各有一个StackPanel。左栏StackPanel有一个" Add"按钮(所以它的初始高度为100个单位);右栏StackPanel为空。点击"添加"按钮,我向网格添加两个相同高度的UserControl,每列/ StackPanel一个。由于左列中有“添加”按钮,因此高度始终比左列高100个单位。我可以看到左右Stackpanels'的值。每次点击“#34;添加"”时,ActualHeight都会增加,并且会创建并添加UserControl。
现在,我正在尝试向右侧列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 =&#34; {Binding ElementName = LeftContainer,Path = ActualHeight}&#34;,我得到一条高度为100的线,但该高度不会随着列的高度而增加。知道我可能缺少什么吗?
答案 0 :(得分:2)
ActualWidth/Height
不可绑定(它们不会引发更改通知)。您需要处理SizeChange
事件