首先呢,DataTemplate作为Resource的一种呢,是用key来被识别的,不用设置name的。
其次我来说一下关于你两个问题的一些看法。
问题一——你这种问法相当于如何在后台对一个控件的Content添加一个控件。一般解决的方法为
后台先创建好listbox,然后赋值 expander1.Content=listbox;
问题二:如何后台指定控件模板。你后台创建一个listbox。 那就可以像一般属性一样赋给它的控件模板呀。
listbox.ItemTemplate = Resources["lbItemTemp"] as DataTemplate;
因为你的控件是确定的,所以你可以在后台设置一个集合属性ObservableCollection XX,每个Item对应ListBox的一个Item,然后在资源文件里面,设置这种XX类型的DataTemplate为这个控件,就可以了。
如果不明白留联系瞧瞧。