【发布时间】:2016-07-28 12:11:50
【问题描述】:
我正在开发一个小型应用程序,我需要一些帮助来实施。
要点是我想创建一个网格状容器,其中包含动态数量的相同柱状结构。每个列状结构内部都有一些用户可以与之交互的文本字段和单选按钮。
我一直在研究一些可能会有所帮助的不同 WPF 对象,但我已经不知所措了。
我想到的一些事情:
- 柱状结构可以是自定义构建的用户控件。此 UserControl 将具有处理各种按钮和文本字段交互的所有逻辑。
- 我们可以使用设置为水平的 StackPanel 来容纳这些用户控件。从我收集到的信息来看,StackPanel 似乎是我的理想容器。
我的一些问题:
我需要为 UserControl 创建一个 .xaml 吗?
如果添加了更多可以显示的 UserControl,StackPanel 是否提供了一种使用水平滚动条从左到右滚动的方法?
是否需要自定义定义 UserControl 的大小,或者是否可以只指定设置的宽度并使用 StackPanel 的高度?
有没有更简单或更合适的解决方案?
最后,我附上了一个非常粗略的草图,以提供我想要做什么的视觉概念:
【问题讨论】:
-
1. “我需要为 UserControl 创建一个 .xaml 吗?”是的,UserControl 由 XAML 和代码组成。 2. 将 UserControl 放入 ItemsControl 的 ItemTemplate 中。这样,它的 DataContext 就绑定到 ItemsControl 的 ItemsSource 属性绑定到的项集合的适当数据项。 3. 为 ItemsControl 的 ItemsPanel 使用水平 StackPanel。 4. 将 ItemsControl 放入 ScrollViewer。
-
@Clemens 如果问的不是太多,您能否举个例子说明 XAML 对于 ItemsControl 的外观?
-
您可能想从这里开始阅读:Data Templating Overview。
标签: c# wpf user-interface user-controls