好吧,我觉得这有点笨,但是,我有一个模板类MyClass或任何其他类型的列表视图,每当我“myListView.Add(new MyClass())”winrt平台添加一个新的UIElement并绑定适当现在,我希望能够遍历这些逻辑项目(myListView.Items或myListView.SelectedItems)并获得它们相应的动画UIElement,这可能吗?如何在列表视图中获取UIElement模板数据?
例如像
class PhoneBookEntry {
public String Name { get;set }
public String Phone { get;set }
public PhoneBookEntry(String name, String phone) {
Name = name; Phone = phone;
}
};
myListView.Add(new PhoneBookEntry("Schwarzeneger", "123412341234");
myListView.Add(new PhoneBookEntry("Stallone", "432143214321");
myListView.Add(new PhoneBookEntry("Statham", "567856785678");
myListView.Add(new PhoneBookEntry("Norris", "666666666666");
而在XAML(只是一个例子,所以我可以解释一下我的意思)
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="{Binding Phone}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
所以,我的观点和客观这里是
foreach(PhoneBookEntry pbe in myListView.Items) // or SelectedItems
{
UIElement el; // How can I get the UIElement associated to this PhoneBookEntry pbe?
if(el.Projection == null)
el.Projection = new PlaneProjection;
PlaneProjection pp = el.Projection as PlaneProjection;
// Animation code goes here.
if(myListView.SelectedItems.Contains(pbe)
//something for selected
else
//something for not selected
}
我只需要一种方法来获得一个UIElement,它被用来表示这个逻辑数据类PhoneBookEntry在te模拟列表视图。 此外,这种必然性伴随着一个非常大的问题,我在哪里,选定的项目在Windows Phone上没有视觉上的差异-_-任何想法?
我已经用此解决方案进行了测试和研究,它直接回应了基本问题ty。 – Felype 2014-10-02 12:01:06