我遇到了一个我不明白的问题。我的Visual Studio给我以下2个错误:
属性“ VisualTree”只能设置一次。
属性“ VisualTree”已设置多次。
这是我的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>
我不知道为什么我不能绑定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/