全部,
我确信这很容易做到,但我仍在努力做到这一点。我可以在代码隐藏中获取滚动查看器的 ViewPortHeight 并插入已加载和大小更改的事件以管理与 ViewPortHeight 相关的对象,但我想知道是否有更简单的方法来执行此操作而无需使用 CodeBehind。
即我想做的是以某种方式在 XAML 中获取 ViewPortHeight(和 ViewPortWidth)并将它们直接绑定到另一个元素的大小属性或我的 ViewModel(当然,使用我自己的 IValueconverter)。通过这种方式,我希望在调整窗口大小(或完成缩放转换)时更轻松地管理相关控件。
即在 PseudoCode 中,这是我希望完成的(没有 CodeBehind)
(假设 MyConverter 是资源中的 IValueConverter)
<ScrollViewer Name="MyScrollViewer">
<loc:MyControl Width="{Binding Path=ViewPortWidth, ElementName=MyScrollViewer, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource MyConverter}, ConverterParameter=10}" />
</ScrollViewer>
提前致谢。