Adam Nathan 的“WPF 4 Unleashed”的第 10 章包含了这个控制ListBox
滚动行为的 XAML 示例:
<Window x:Class="NathanControllingScrollingBehavior.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
ScrollViewer.CanContentScroll="False"
ScrollViewer.IsDeferredScrollingEnabled="True">
...
</ListBox>
</Window>
书中没有等效的 C# 示例。我做了一些研究,发现了一些迂回的方法来做到这一点。有关对我有用的两种方法,请参阅此 SO question。然而,这些方法似乎有点骇人听闻。在 XAML 中调整这些属性非常简单,但在 C# 中却很尴尬。
这仅仅是 WPF 的一个区域,仅用于 XAML 而不是 C#?谁能解释 XAML/C# 之间这些属性的易用性差异?这只是 WPF 团队的疏忽吗?