WPF如何使控制始终在最前面,并留在查看用户向下滚动后
我建立使用WPF,这样的垂直应用时间表: WPF如何使控制始终在最前面,并留在查看用户向下滚动后
该应用程序分为2个边,上左边是圆圈的日期,右边是细节。
让我们说在我的屏幕上,我只能看到左边的两个圆圈,右边是一些非常长的细节。我想要实现的是,当我向下滚动时,第一个圆圈在屏幕上移动,然后卡在顶部,而不是离开我的视野。
这就像电报在Android上,发件人的显示画面将永远在最前面,无论用户向上或向下滚动,直到下一个发件人的显示画面的用武之地。
我希望我能解释自己清晰。我已经设法在WPF中创建应用程序,现在我想要做上述增强,但我不知道从哪里开始。
编辑: 这里有两张图片来解释我想达到什么。
之前向下滚动
向下滚动
回答:
,我能想到的是使用一个HeaderedItemsControl非常简单的解决方案后。这将允许您将顶部项目设置为标题,将所有其他项目设置为列表项目。
<Grid> <HeaderedItemsControl>
<HeaderedItemsControl.Template>
<ControlTemplate TargetType="{x:Type HeaderedItemsControl}">
<Border>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<ContentPresenter ContentSource="Header" />
<!--<Separator Grid.Row="1" />-->
<ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Visible">
<ItemsPresenter />
</ScrollViewer>
</Grid>
</Border>
</ControlTemplate>
</HeaderedItemsControl.Template>
<HeaderedItemsControl.Header>Mark</HeaderedItemsControl.Header>
<HeaderedItemsControl.Items>
<system:String>Mark2</system:String>
<system:String>Mark3</system:String>
<system:String>Mark4</system:String>
<system:String>Mark5</system:String>
<system:String>Mark6</system:String>
<system:String>Mark7</system:String>
<system:String>Mark7</system:String>
</HeaderedItemsControl.Items>
</HeaderedItemsControl>
</Grid>
以上是 WPF如何使控制始终在最前面,并留在查看用户向下滚动后 的全部内容, 来源链接: utcz.com/qa/263970.html