线元素 Y 值未绑定到父 StackPanel ActualHeight 属性
Line element Y value not Binding to Parent StackPanel ActualHeight property
在我的主页中。我有一个包含 1 行和 2 列的网格。两列各有一个 StackPanel。左列 StackPanel 有一个 "Add" 按钮(因此它的初始高度为 100 个单位);右列 StackPanel 为空。单击 "Add" 按钮时,我向网格添加了两个相同高度的用户控件,每个 column/StackPanel 一个。由于左列中有一个添加按钮,因此高度始终比左列高 100 个单位。我可以看到每次单击 "Add" 时左右 Stackpanels 的 ActualHeight 值都会增加,并且会创建和添加 UserControls。
现在,我正在尝试向右列 StackPanel 添加一个线元素,并且我希望线的长度随着列的长度而增加。我的代码目前看起来像这样:
<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 的线,但该高度不会随着列的高度而增加。知道我可能遗漏了什么吗?
ActualWidth/Height
不可绑定(它们不会引发更改通知)。您需要处理 SizeChange
事件而不是
在我的主页中。我有一个包含 1 行和 2 列的网格。两列各有一个 StackPanel。左列 StackPanel 有一个 "Add" 按钮(因此它的初始高度为 100 个单位);右列 StackPanel 为空。单击 "Add" 按钮时,我向网格添加了两个相同高度的用户控件,每个 column/StackPanel 一个。由于左列中有一个添加按钮,因此高度始终比左列高 100 个单位。我可以看到每次单击 "Add" 时左右 Stackpanels 的 ActualHeight 值都会增加,并且会创建和添加 UserControls。
现在,我正在尝试向右列 StackPanel 添加一个线元素,并且我希望线的长度随着列的长度而增加。我的代码目前看起来像这样:
<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 的线,但该高度不会随着列的高度而增加。知道我可能遗漏了什么吗?
ActualWidth/Height
不可绑定(它们不会引发更改通知)。您需要处理 SizeChange
事件而不是