2009-12-01 47 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將成爲選項卡將綁定到的控制器。

相關問題