我对 WPF 比较陌生,有人能给我指出最好的方法吗?
我将创建一个框图,其中包含连接各个 block 的线。这些盒子都排成一排,所以我正在考虑一个带有矩形和线条的水平对齐的堆栈面板。
矩形将填充选项卡页,并且可单击。
问题是直到运行时我才知道会有多少个矩形。
什么是正确的方法来做到这一点,应该是在代码隐藏中,我找出矩形的数量并添加和定位它们以及代码中的行,或者我可以在 XAML 中做一些更灵活的事情吗? ?
矩形的数量在 2 到 10 之间,所以如果是 2,我不希望它们填满选项卡的整个宽度。因此,理想情况下,我希望矩形具有最小和最大宽度并居中,这样它看起来仍然很漂亮。
提前非常感谢
最佳答案
执行类似操作的正确方法是使用 <ItemsControl>
并绑定(bind)其ItemsSource
模型的一部分,代表图表 block 的集合。数据绑定(bind)是 WPF 的一个非常强大的部分。不幸的是,它也太复杂,无法在答案中快速描述,因此我建议阅读一些文章/代码示例以加快速度。
如果您使用ObservableCollection<DiagramBlock>
(或任何其他实现 INotifyCollectionChanged
的集合)对于您的 block ,在代码中添加或删除 block 将导致 UI 相应更改。
关于c# - 添加可变数量的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16554699/