Windows phone 8 Windows Phone 8,在列表框中查找复选框项目

Windows phone 8 Windows Phone 8,在列表框中查找复选框项目,windows-phone-8,Windows Phone 8,我在列表框中的stackpanel中有一个复选框。我需要根据一些逻辑操作设置该复选框的可见性,因此我需要在listbox中找到该元素 在设置列表的数据源之后,我正在使用以下代码查找PageLoad上的复选框。 但在这个listboxItem上,我得到一个空值和一个异常,表示:引用不是有效的VisualDependencyObject private void searchListCheckBoxVisibility() //private void SearchList_Load

我在列表框中的stackpanel中有一个复选框。我需要根据一些逻辑操作设置该复选框的可见性,因此我需要在listbox中找到该元素

在设置列表的数据源之后,我正在使用以下代码查找PageLoad上的复选框。 但在这个listboxItem上,我得到一个空值和一个异常,表示:引用不是有效的VisualDependencyObject

private void searchListCheckBoxVisibility()
        //private void SearchList_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                ListBoxItem listItem = this.SearchList.ItemContainerGenerator.ContainerFromIndex(2) as ListBoxItem;
                CheckBox targetCheckBox = FindFirstElementInVisualTree<CheckBox>(listItem);
}
}
private void searchListCheckBoxVisibility()
//已加载私有无效搜索列表(对象发送者,路由目标e)
{
尝试
{
ListBoxItem listItem=this.SearchList.ItemContainerGenerator.ContainerFromIndex(2)作为ListBoxItem;
复选框targetCheckBox=FindFirstElementVisualTree(列表项);
}
}
以下是我的xaml:

Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <ListBox Margin="13,10,7,10" x:Name="SearchList" DoubleTap="SearchList_DoubleTap">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel x:Name="searchListPanel" Orientation="Horizontal" Width="400" ScrollViewer.HorizontalScrollBarVisibility="Auto">
                            <StackPanel Orientation="Vertical" Width="340">
                                <StackPanel Orientation="Vertical">
                                    <TextBlock Text="Name : " FontWeight="Bold" Style="{StaticResource ResourceKey=MSFTGuidelines_TextBlock}"/>
                                    <TextBlock Text="{Binding User}" TextWrapping="Wrap" Style="{StaticResource ResourceKey=MSFTGuidelines_TextBlock}"/>
                                </StackPanel>
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Text="Project : " FontWeight="Bold" Style="{StaticResource ResourceKey=MSFTGuidelines_TextBlock}"/>
                                    <TextBlock Text="{Binding Project}" TextWrapping="Wrap" Style="{StaticResource ResourceKey=MSFTGuidelines_TextBlock}"/>
                                </StackPanel>
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Text="Status : " FontWeight="Bold" Style="{StaticResource ResourceKey=MSFTGuidelines_TextBlock}"/>
                                    <TextBlock Text="{Binding On_OffBoarded}" TextWrapping="Wrap" Style="{StaticResource ResourceKey=MSFTGuidelines_TextBlock}"/>
                                </StackPanel>
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Text="Date : " FontWeight="Bold" Style="{StaticResource ResourceKey=MSFTGuidelines_TextBlock}"/>
                                    <TextBlock Text="{Binding DT_On_OffBoarded}" TextWrapping="Wrap" Style="{StaticResource ResourceKey=MSFTGuidelines_TextBlock}"/>
                                </StackPanel>
                                <StackPanel>
                                    <TextBlock Text=""/>
                                </StackPanel>
                            </StackPanel>
                            <CheckBox Width="60" 
                                      x:Name="user_Checkbox" 
                                      Content="" Tag="{Binding ID}" 
                                      Visibility="Collapsed" 
                                      Checked="user_Checkbox_Checked"
                                      Unchecked="user_Checkbox_UnChecked"
                                      Style="{StaticResource ResourceKey=MSFTGuidelinesCheckBox}"
                                      IsChecked="False"

                                      />
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </Grid>
Grid x:Name=“ContentPanel”Grid.Row=“1”Margin=“12,0,12,0”>
我在这个问题上纠结了一段时间,现在我很紧张,请帮忙。
提前感谢。

您可以简单地使用
VisualTreeHelper
列表框
数据模板中查找控件

参考: