更改longlist选择器内控件的属性

时间:2015-01-11 18:32:03

标签: c# visual-studio xaml windows-phone

在我的应用程序中,我正在尝试更改longlist选择器内部按钮的属性,该按钮位于枢轴项目内。我尝试使用" x:姓名"命名按钮,我可以在事件处理程序中进一步使用,但发生错误"名称在当前上下文中不存在。" 我使用相同的方法来修改longlist选择器的属性,它工作正常。

这是我的XAML代码:

<phone:PivotItem x:Name="settingPivotItem">
        <phone:LongListSelector x:Name="longList3" 
                                ItemsSource="{Binding extra.Items}" 
                                SelectionChanged="longList3_SelectionChanged">
            <phone:LongListSelector.ItemTemplate>
                <DataTemplate>
                    <Button x:Name="settingButton">
                        <Button.Template>
                            <ControlTemplate>
                                <StackPanel>
                                    <TextBlock Text="{Binding item}"/>
                                </StackPanel>
                            </ControlTemplate>
                        </Button.Template>
                    </Button>
                </DataTemplate>
            </phone:LongListSelector.ItemTemplate>
      </phone:LongListSelector>
</phone:PivotItem>

请帮助

1 个答案:

答案 0 :(得分:0)

您尝试在数据模板中访问它的按钮,因此在不同的上下文中。

您无法通过x:模板外部的名称访问它,因为该模板可能有多个项目(因此可能有多个具有该名称的按钮)。

如果你真的必须从代码中更改它的属性,你可以使用VisualTreeHelper,也就是Fred所说的。

其他选项会给我们一个数据绑定。