gpt4 book ai didi

c# - 属性 "VisualTree"只能设置一次

转载 作者:太空宇宙 更新时间:2023-11-03 19:51:31 27 4
gpt4 key购买 nike

我遇到了一个我不明白的问题。我的 Visual Studio 出现以下 2 个错误:

The property "VisualTree" can only be set once.

The property 'VisualTree' is set more than once.

这是我的 XAML:

    <ItemsControl x:Name="SettingsListItemControl">
<TextBlock Text="Settings" FontSize="24" />
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel HorizontalAlignment="Left" Height="640" VerticalAlignment="Top" Width="360" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate x:Name="SettingItemTemplate" x:DataType="vm:SettingItemViewModel">
<TextBlock Text="{x:Bind Title}"/>
<ToggleSwitch IsOn="{x:Bind IsActive}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

我不知道为什么我不能绑定(bind) IsActive,它在这里给我一个错误...好像他也有 DataTemplate 的问题。我的问题看起来很基本,我是 XAML 和 DataBinding 的初学者 :)

感谢您的帮助!

最佳答案

在您的 ItemTemplate 中,您需要一个 TextBlock/ToggleSwitch 的父面板,它可以容纳子项,将它们包装在 StackPanel 或 Grid 或其他东西中。错误消失了。 :)

所以把它换成这样的东西;

<ItemsControl.ItemTemplate>
<DataTemplate x:Name="SettingItemTemplate" x:DataType="vm:SettingItemViewModel">
<StackPanel>
<TextBlock Text="{x:Bind Title}"/>
<ToggleSwitch IsOn="{x:Bind IsActive}"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>

关于c# - 属性 "VisualTree"只能设置一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38663281/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com