我有一个ListBox,其ItemsSource绑定到一组对象的集合。我的按钮内容绑定到MyObject属性"Name"。在UI上显示时,我希望将我的按钮包装起来,这样当它们达到应用程序的末尾时,我就开始在另一行中显示它们。显然,我只显示了前几个按钮,其余的被截断了。我所依靠的Wrap Panel似乎已经被淘汰了。
我的视图(XAML):
任何想法吗?谢谢。
我的视图(XAML):
<ListBox Grid.Row="1" ItemsSource="{Binding Objects}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"></StackPanel>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Button Margin="2" Content="{Binding Name}" Width="200" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我的 ViewModel:
public ObservableCollection<MyObject> Objects { get; set; }
public MainViewModel()
{
Objects = new ObservableCollection<MyObject>();
Add();
}
private void Add()
{
for (int i = 0; i < 15; i++)
{
Objects.Add(new MyObject() { Name = i});
}
}
public class MyObject
{
public int Name { get; set; }
}
任何想法吗?谢谢。