2009-12-01 80 views
0

我使用WPF和TabControl作为我的Menu。这会在代码后面生成很多代码,因为一个文件控制着所有的用户操作。然后我想我可以每TabItem使用一个Controller类。我用它,它的工作原理,但我不喜欢结果。我必须使用TabItem上的FindName()方法,我将它传递给Controller,它会生成一些难以调试的难看的代码(至少在我看来)。WPF:传递一个TabItem控件到控制器类

那么有什么方法可以通过TabItem,以便我可以在我的Controller的xaml页面上找到控件?

例如我有TabItem1,TabItem2TabItem3。每个页面都包含供用户使用的页面。然后我想通过TabItem1到控制器TabItem1Controller。目前我这样做:

public TurbineController(TabItem tab) 
    { 
     _client = tab; 
    } 

但是接着我必须​​使用FindName()方法。

我的要求可能吗?

+0

你不能通过数组保存TabItems的引用吗? – 2009-12-01 05:36:21

+0

出于好奇,为什么不使用MVVM方法? – Anvaka 2009-12-01 08:49:27

回答

0

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

相关问题