在我的应用程序中,我正在尝试更改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>
请帮助
答案 0 :(得分:0)
您尝试在数据模板中访问它的按钮,因此在不同的上下文中。
您无法通过x:模板外部的名称访问它,因为该模板可能有多个项目(因此可能有多个具有该名称的按钮)。
如果你真的必须从代码中更改它的属性,你可以使用VisualTreeHelper,也就是Fred所说的。
其他选项会给我们一个数据绑定。