'visualTree'在windows Phone 8 c#中设置了不止一次

本文关键字:设置 不止一次 Phone visualTree windows | 更新日期: 2023-09-27 18:05:14

在我的windows phone应用程序中,我想获得所有联系人的复选框和显示在列表框

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <StackPanel Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,10">
            <TextBlock x:Name="ContactResultsLabel" Text="results are loading..." Style="{StaticResource PhoneTextLargeStyle}" TextWrapping="Wrap"></TextBlock>
            <ListBox x:Name="ContactResultsData" ItemsSource="{Binding listOfContacts}" Height="293" Margin="24,0,0,0">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <CheckBox Name="contactChk" IsChecked="true" Foreground="Black" Background="Black" BorderBrush="Black"></CheckBox>
                        <TextBlock x:Name="ContactResultsName" Text="{Binding Name}" FontSize="50"></TextBlock>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </StackPanel>
    </Grid>

但是当我在列表框的DataTemplate中添加CheckboxTextblock时,它会得到下面的错误:

The property 'visualTree' is set more than once

我不明白为什么它给,请建议我,等待你的答复。谢谢。

'visualTree'在windows Phone 8 c#中设置了不止一次

你只能在DataTemplate中添加一个元素根,代码可以这样修改:

<DataTemplate>
    <Grid>
        <CheckBox Name="contactChk" IsChecked="true" Foreground="Black" Background="Black" BorderBrush="Black"></CheckBox>
        <TextBlock x:Name="ContactResultsName" Text="{Binding Name}" FontSize="50"></TextBlock>
    </Grid>
</DataTemplate>

DataTemplate只能有一个子节点。你用了CheckBoxTextBlock,把它们放在一个Grid/StackPanel中,希望这对你有帮助。