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在
下载控件添加到myObservableCollection
它们将显示在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中使用它。