【发布时间】:2011-09-28 00:49:33
【问题描述】:
我正在研究 PRISM / CAL 解决方案,但问题可能是 WPF 特定的:
如果我创建一个控件实例(例如 TextBlock)并将其作为子项添加到 StackPanel,则无法将其作为“子项”添加到另一个 StackPanel(父项已设置错误)。我有点理解原因(在使用 RegionManager 时也会发生)。
但是,如果视觉控件非常复杂并且应该只创建一次并在两个地方使用,建议的方法是什么?我同意在屏幕上显示相同的控件 2 次并没有什么意义,但在某些情况下它可能很有用(例如“关闭所有”按钮)。
我知道在按钮的情况下,我应该只创建两个数据绑定到一个 ICommand 的按钮。但是这条规则是否也适用于更复杂的控件(总是创建新实例)...
我在创建布局切换器时偶然发现了这个问题,它为每个 GUI 分别创建按钮列表和堆栈面板,但使用按钮的静态 ObservableCollection 作为源(这会导致奇怪的错误)..
关于这个话题有什么想法吗?
克里斯
【问题讨论】: