'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
中添加Checkbox
和Textblock
时,它会得到下面的错误:
The property 'visualTree' is set more than once
我不明白为什么它给,请建议我,等待你的答复。谢谢。
你只能在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
只能有一个子节点。你用了CheckBox
和TextBlock
,把它们放在一个Grid/StackPanel
中,希望这对你有帮助。