WPF:DataTemplate与Collection和LocalTemplate

WPF:DataTemplate与Collection和LocalTemplate,wpf,data-binding,datatemplate,Wpf,Data Binding,Datatemplate,有人知道如何将ObservableCollection对象的集合链接到OwnUserControl,后者集成在WPF应用程序的DataTemplate中吗?我尝试了几种绑定路径(WPF代码中的Binding Path=MAIN-QUESTION),但都不起作用。所以我想我可能对这里的概念有一个基本的误解 ViewModel: public class MyViewModel { private ObservableCollection<object> _timeLineCollec

有人知道如何将ObservableCollection对象的集合链接到OwnUserControl,后者集成在WPF应用程序的DataTemplate中吗?我尝试了几种绑定路径(WPF代码中的Binding Path=MAIN-QUESTION),但都不起作用。所以我想我可能对这里的概念有一个基本的误解

ViewModel:

public class MyViewModel
{

private ObservableCollection<object> _timeLineCollection = new ObservableCollection<object>();
public ObservableCollection<object> TimeLineCollection
        {
            get { return _timeLineCollection; }
            set { _timeLineCollection = value; }
        }
}
公共类MyViewModel
{
私有ObservableCollection_timeLineCollection=新ObservableCollection();
公共可观测收集时间线收集
{
获取{return\u timeLineCollection;}
设置{u timeLineCollection=value;}
}
}
WPF


谢谢你的帮助

问候
sittingduck

尝试更改ItemsControl而不是Resource的ItemTemplate属性。


问题已解决,我忘记初始化usercontrol。非常业余的失败

对这混乱深表歉意


关于

主要问题在哪里?在哪个类中,主要问题是TimeLineCollection中的对象。TimeLineCollection包含多个类型对象。目标是使用ItemControl和Datatemplate显示它们。为了便于维护,我想将datatemplate的现有代码移动到usercontrol。使用您提供的XAML,您可以在TimeLineCollection中的每个TimeLineicketViewModel中查找一个对象主问题。我不确定你想要实现什么,但显然不是那样的不,实际上不是。当时我把一堆xaml代码放在中间。我只是想用一个包含旧代码的usercontrol来替换它。也许可以提供这组xaml,这样我们就可以使用一些真正有效的东西,并展示您想要做的事情……感谢您的回答,不幸的是itemscontrol.itemtemplate不能包含多个datatemplate类型。因为我在集合中有几个数据类型,所以这种解决方案是不可行的。你还有别的想法吗?
<ItemsControl Name="ItemsControlOverview"  ItemsSource="{Binding TimeLineCollection}">
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type viewModel:TimeLineTicketViewModel}">
                                <localtemplates:TimeLineTicket DataContext="{Binding Path=MAIN-QUESTION}" x:Name="TimeLineTicket"/>
                            </DataTemplate>
</ItemsControl.Resources>
</ItemsControl>                  
<ItemsControl Name="ItemsControlOverview"  ItemsSource="{Binding TimeLineCollection}">
     <ItemsControl.ItemTemplate>
                 <DataTemplate DataType="{x:Type viewModel:TimeLineTicketViewModel}">
                            <localtemplates:TimeLineTicket DataContext="{Binding Path=MAIN-QUESTION}" x:Name="TimeLineTicket"/>
                  </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>