![]() |
1
3
我不认为即时修改网格是最好的选择。这是另一个解决方案。您可以使用列表框,但替换 iTimeSpell 选择另一个面板。列表框的默认项是virtualizingstackpanel,方向设置为垂直。因为您希望项目水平显示,所以可以将其替换为方向设置为的virtualizingstackpanel 水平的 . 当然,您可以修改itemstemplate或任何您认为合适的东西。
我以前也用过这个方法来创建一个列表框,它水平地显示项目,但是当项目在行上耗尽空间时,用一个包装板包装到下一行。您还可以创建自己的自定义面板并替换它们。我曾经做过一个面板,它随机地列出了项目,并将其用于列表框。绑定集合中的每个项都在列表框中的随机位置显示。每次刷新布局时,项目都会得到一个新位置。 |
![]() |
2
3
如果是 DataGrid , the AutoGenerateColumns 属性可以做到这一点。通过使用 DataGridTemplateColumn ,您可以将文本框控件放置在其中,而不只是文本。您需要提供一个附加到 AutoGeneratingColumn 而在 AutoGeneratingColumnEventArgs (嗨,Microsoft,这是Carpel隧道调用),使用文本框将Column属性设置为模板列。 我认为你的可观察收集方法更简单;-p. |
![]() |
3
2
如果您可以接受在每一行而不是每一列中使用名称,那么您应该使用ListView和GridView视图属性,以及一个自定义CellTemplate,它只是一个绑定的文本框。像这样:
不幸的是,解决方案2在XAML中不可能实现。解决方案1是您的最佳选择,如果您必须在自己的列中有每个名称。 |