C# Listview不显示带有自定义UserControl的滚动条

C# Listview不显示带有自定义UserControl的滚动条,c#,wpf,listview,data-binding,user-controls,C#,Wpf,Listview,Data Binding,User Controls,将下载控件添加到myObservableCollection 它们将显示在XAML的列表视图中。但是,如果不设置明确的高度,我无法显示滚动条。当我将滚动条设置为显示时。它出现在左边而不是右边,这让我相信装订不在正确的位置。但是它不能正常工作。我使用不同的Listviews,只使用标签和绑定,它们的行为符合预期 我尝试过使用gridview和gridviewcolumn更改布局,我尝试过使用DataTemplate进行修改,但这会导致UserControl上的数据绑定中断 主窗口上的当前xaml在

下载控件添加到my
ObservableCollection
它们将显示在XAML的
列表视图中。但是,如果不设置明确的高度,我无法显示滚动条。当我将滚动条设置为显示时。它出现在左边而不是右边,这让我相信装订不在正确的位置。但是它不能正常工作。我使用不同的
Listview
s,只使用标签和绑定,它们的行为符合预期

我尝试过使用
gridview
gridviewcolumn
更改布局,我尝试过使用
DataTemplate
进行修改,但这会导致
UserControl
上的数据绑定中断

主窗口上的当前xaml在listview中显示自定义用户控件


公共可观察收集下载控件
{
get=>(ObservableCollection)GetValue(DownloadControlsProperty);
set=>SetValue(DownloadControlsProperty,value);
}
//使用DependencyProperty作为下载控件的备份存储。这将启用动画、样式、绑定等。。。
公共静态只读从属属性DownloadControlsProperty=
DependencyProperty.Register(“DownloadControls”,
typeof(ObservableCollection),typeof(MainWindow));
用户控件下载控件


标题:
上载程序:
持续时间:
这是目前的结果。当“我的元素”大于窗口的当前高度时,预期结果是在右侧有一个滚动条


完整的源代码:

请注意,您通常不会将ItemsControl的ItemsSource绑定到UI元素的集合。我们的想法是将其绑定到一组数据项,并在ItemTemplate中有一个UI元素,该元素绑定到数据项类的属性。@Clemens您建议怎么做?用户控件的整体思想是可重用性,但我不确定在我必须仅绑定data CollectionItemsControl具有ItemTemplate属性的情况下如何实现这一点。您将分配一个包含UserControl的DataTemplate。控件将具有绑定到数据项属性的可绑定属性。如果您真的需要ListView,那么DataTemplate必须放在GridViewColumn的CellTemplate中。所有这些都不是指滚动条。这只是关于如何正确编写UserControl并在ItemsControl的ItemTemplate中使用它。请注意,通常不会将ItemsControl的ItemsSource绑定到UI元素集合。我们的想法是将其绑定到一组数据项,并在ItemTemplate中有一个UI元素,该元素绑定到数据项类的属性。@Clemens您建议怎么做?用户控件的整体思想是可重用性,但我不确定在我必须仅绑定data CollectionItemsControl具有ItemTemplate属性的情况下如何实现这一点。您将分配一个包含UserControl的DataTemplate。控件将具有绑定到数据项属性的可绑定属性。如果您真的需要ListView,那么DataTemplate必须放在GridViewColumn的CellTemplate中。所有这些都不是指滚动条。它只是关于如何正确地编写UserControl并在ItemsControl的ItemTemplate中使用它。