gpt4 book ai didi

c# - 如何将项目动态添加到 WrapPanel?

转载 作者:太空狗 更新时间:2023-10-30 01:19:07 26 4
gpt4 key购买 nike

我有以下 XAML:

<Window x:Class="ImageComparing.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="350" Width="525" xmlns:my="clr-namespace:ImageComparing" Title="Image comparing">
<DockPanel>
<ToolBar Name="toolbar1" DockPanel.Dock="Top" Height="41" Background="#FFA5D95A">
/*other content*/
</ToolBar>
<WrapPanel Name="wrapPanel1" >
/*other content*/
<Label Content="Label" Height="28" Name="label1" />
</WrapPanel>
</DockPanel>
</Window>

我想向 wrapPanel1 添加内容 - 我尝试了以下代码:

if (info.Attributes == FileAttributes.Directory)
wrapPanel1.Children.Add(new FolderEntry(info.Name));
else
wrapPanel1.Children.Add(new FileEntry(info.Name));

由于某种原因,项目没有显示。我该如何解决这个问题?

最佳答案

您应该使用一些 ItemsControl,然后从项目源属性中添加/删除项目。您可以使用 ItemsPanel 属性或更改模板。例如,使用 ListBox 并设置 Template 属性:

<ListBox Grid.Row="2" ItemsSource="{Binding Items}">
<ListBox.Template>
<ControlTemplate>
<WrapPanel IsItemsHost="True"/>
</ControlTemplate>
</ListBox.Template>
</ListBox>

现在,当您在 ViewModel/DataContext 的 Items 属性中添加或删除项目时,项目将使用 WrapPanel 显示,而不是 StackPanelListBox 的默认值。

希望这有助于...

关于c# - 如何将项目动态添加到 WrapPanel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24248898/

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