Scrollviewer中的自定义控件

时间:2015-03-31 13:22:22

标签: c# wpf custom-controls scrollviewer

我的问题是我如何将自定义控件的ViewModel列表放入Scrollviewer中,并将其与itemtemplate一起使用。我读了一些关于Virtualizingstackpanels和itemcontrol的内容,但我真的不明白这一点。

如果有人能帮助我,那就太好了。

1 个答案:

答案 0 :(得分:1)

假设您想在滚动查看器中使用相同视图模型的多个实例,则需要执行以下操作

public class MyViewModel
{
   public string SomeProperty {get;set;}
}

在您的视图中使用ItemsControl并提供DataTemplate并将其绑定到视图模型列表。

<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
    <ItemsControl ItemsSource="{Binding ListOfViewModels}">
     <ItemsControl.ItemTemplate>
        <DataTemplate>
           <Grid>
             <TextBlock Text="{Binding SomeProperty}"/>
           </Grid>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
    </ItemsControl>
</ScrollViewer>

这里的datatemplate是一个带有文本块的简单网格,你也可以使用你自己的自定义控件

您可以阅读有关商品控件herehere

的更多信息