如何从另一个元素的数据模板中获取项目?

时间:2014-08-10 16:50:40

标签: c# wpf windows-phone-8 windows-8

在Windows Phone上,如何在用户界面(UI)中获取矩形?

<phone:LongListSelector x:Name="lst"  ItemRealized="lst_ItemRealized">
    <phone:LongListSelector.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Rectangle x:Name="rect"/>
           <Grid>
        </DataTemplate>
    </phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>

这是获取部分:

private void lst_ItemRealized(object sender, ItemRealizationEventArgs e)
{
    //Rectangle r = get rectangle rect from the data template;           
}

1 个答案:

答案 0 :(得分:2)

实际上你的问题不同了。如果你再打破一个级别,你会发现实际上你必须从LongListSelector DataTemplate获取你的Rectangle的UI元素。

  1. 如果你告诉我们的朋友(谷歌)你会发现这个问题 ans在第一个链接。我知道了 How do I access a control inside a XAML DataTemplate? 与你的完全相似。

  2. 根据解决方案,你必须找到控件(矩形) DataTemplate的可视树。

  3. 如果您在解决方案中注意到实际上已经给了一个名字 必须找出的控制权。这种方式更好,因为如果你 在可视树中搜索某些类型,例如Rectangle然后你可以 遇到过多个Rectangle存在的情况 在DataTemplate中。
  4. 我不想复制粘贴相同的代码,因此请参阅代码链接。希望它能帮助你:))