WPF:将TabItem控件传递给控制器​​类

时间:2009-12-01 05:30:21

标签: c# wpf controller tabcontrol tabitem

我正在使用WPF而TabControl作为我的Menu。这会在代码后面生成大量代码,因为一个文件正在控制所有用户操作。然后我想我可以为每个Controller使用TabItem类。我用它并且它有效,但我不喜欢结果。我必须在我传递给FindName()的{​​{1}}上使用TabItem方法,它会生成一些难以调试的丑陋代码(至少在我看来)。

那么有没有办法传递Controller以便我可以在TabItem的xaml页面找到控件?

例如,我有ControllerTabItem1TabItem2。每个包含供用户使用的页面。然后我想将TabItem3传递给控制器​​TabItem1。目前我正是这样做的:

TabItem1Controller

但是我必须使用public TurbineController(TabItem tab) { _client = tab; } 方法。

我的请求可以吗?

1 个答案:

答案 0 :(得分:0)

你让它落后了,至少是MVVM方法。控制器(TurbineContoller)不应该引用视图(TabItem),视图应该引用控制器。创建控制器集合并将集合数据绑定到tabcontrol。每个选项卡的datacontext将是选项卡将数据绑定到的控制器。