【发布时间】:2017-11-13 20:56:43
【问题描述】:
我遇到了一个问题 - 我创建了一个项目,在该项目中我使用绑定到列表框将我的代码绑定到 xaml。但是,它在我以后的代码中产生了一些问题——我想在我的表单中添加按钮,但是我遇到了一些错误。
'在使用 ItemsSource 之前,Items 集合必须为空。'
当我尝试绑定可绑定列表框之外的内容时,会发生此错误。
属性“VisualTree”只能设置一次。
当我尝试在列表框下方添加按钮时发生此错误。
有人可以指导我如何解决这个问题吗?
我的代码:
<ListBox x:Name="ItemsControl1">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="5">
</UniformGrid>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderBrush="Black" BorderThickness="2" Width="Auto" Height="Auto">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Number}"/>
<Image Source="{Binding Source}" Margin="0,0,5,0"/>
</StackPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
理想的结果是列表框下方的按钮。
【问题讨论】:
-
“在列表框内,就在它下面”听起来很矛盾。将 Button 除了 ListBox 放入一个公共面板中,例如StackPanel 或网格。
-
我对您正在尝试的内容有一些模糊的总体概念,但请说明您希望按钮出现在哪里以及为什么它不在列表框之外。
-
@Clemens 哈哈,谢谢我修正了错误。 " 将 Button 放在 ListBox 旁边,放入一个公共面板中,例如 StackPanel 或 Grid。"这是当我收到“在使用 ItemsSource 之前,Items 集合必须为空”时。错误