wpf - 获取滚动查看器中 child 可用的宽度

标签 wpf scrollviewer

如何在 XAML 中获取滚动查看器子级的可用宽度?谢谢。

最佳答案

据我所知,没有直接的方法可以做到这一点,因为 WPF 会自动将可用空间传递给子控件的 Measure() 函数,以便它们的大小适合可用空间。

请注意,默认情况下,它在垂直方向传递无穷大,因为内容可以垂直滚动。您可以更改滚动条在垂直和水平方向上的可见性,以影响是否垂直、水平或同时垂直传递无穷大。

计算纯 XAML 中子控件实际布局的宽度的最佳方法是创建一个空控件(例如,一个空网格),然后绑定(bind)到其 ActualWidth 属性:

<ScrollViewer>
    <StackPanel>
        <Grid x:Name="MeasureGrid"/>
        <TextBox Text="{Binding ElementName=MeasureGrid, Path=ActualWidth}"/>
    </StackPanel>
</ScrollViewer>

除了显示控件实际可用的宽度之外,我在 XAML 中看不到此信息的任何其他用途 - 我能想到的所有其他场景都可以隐式使用此信息。您能否向我们提供有关您想要实现的目标的更多信息?

关于wpf - 获取滚动查看器中 child 可用的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/935843/

相关文章:

wpf - 如何在 WPF ScrollViewer 中增加滚动条宽度?

c# - 将 WPF 桌面应用程序转移到客户端服务器技术的良好体系结构

c# - Dispatcher.BeginInvoke 始终返回 DispatcherOperationStatus.Pending 状态

.net - 如何让椭圆闪烁?

wpf - 滚动 WPF DataGrid 以在顶部显示所选项目

wpf - 如何将 DataTrigger 绑定(bind)到单独的 ListBox ScrollViewer 的 ComputedVerticalScrollBarVisibility 属性?

xaml - ListView 和 GridView WinRT xaml 中的粘性标题

wpf - 使用 Wpf 中的 ScrollView 和 ViewBox 缩放到鼠标点

wpf - 如何在 GridViewColumn 中居中 WPF CheckBox?

c# - 可以重复 XAML block ,foreach 样式吗?