gpt4 book ai didi

Silverlight RichTextBox/ListBox/ScrollViewer 奇怪的行为

转载 作者:行者123 更新时间:2023-12-01 06:44:03 25 4
gpt4 key购买 nike

我有一个使用以下 XAML 的用户控件:

<ScrollViewer>
<ListBox ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<RichTextBox>
<Paragraph>
<Run Text="{Binding}"/>
</Paragraph>
</RichTextBox>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>

和后面的代码:
public partial class MainPage {
public MainPage() {
InitializeComponent();
Items = new ObservableCollection<string>(Enumerable.Range(0, 100).Select(x => "some text"));
DataContext = this;
}

public ObservableCollection<string> Items { get; set; }
}

当此代码运行时,ScrollViewer 的垂直滚动条会下降到底部。但是,如果我在 RichTextBox 中删除 Run 中的绑定(bind)并对文本进行硬编码:
<Run Text="some text"/>

现在滚动条保持在顶部(如我所料)。

这是一个错误吗?如果不是,那是怎么回事?我该如何解决这个问题(注意:这是简化的 XAML,我需要 ScrollViewer,因为 ListBox 实际上在网格中)?

最佳答案

我不能告诉你为什么 ScrollViewer 会这样,但我会将 XAML 更改为以下内容。然后是顶部的滚动条,如果您在 DataTemplate 中使用绑定(bind)或未使用绑定(bind)。

XAML:

<ListBox ScrollViewer.VerticalScrollBarVisibility="Auto" ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<RichTextBox>
<Paragraph>
<Run Text="{Binding}"/>
</Paragraph>
</RichTextBox>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

关于Silverlight RichTextBox/ListBox/ScrollViewer 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7645370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com