我的WPF應用程序在主(父)窗口中有一個選項卡控件。每個選項卡都包含一個UserControl,用於清除主窗口後面的xaml和代碼。我正在使用this post by Julie Lerman中概述的實體框架拖放技術。我沒有使用MVVM。該應用程序在單個表/實體上執行CRUD操作。使用外鍵引用將多個查找表/實體連接到主表。父窗口有一個類級別_context
變量引用我的實體容器的新實例,我認爲這是我的數據庫連接(類固醇)。 如何將_context
從主窗口傳遞給用戶控件?如何將父窗口中的實體容器(上下文)引用傳遞給子用戶控件?
在父窗口上創建Context
屬性引用_context
似乎是一個好主意。問題是,打破我的父窗口xaml。它不再編譯,因爲我正在訪問UserControl的加載事件中的Context
。我猜控制是在父窗口之前編譯的,導致在主窗口xaml中引用一個空引用(從子代到父代Context
)異常。一切工作正常,如果我只是在UserControl中創建一個新的_childContext
變量,但似乎是一個容易出錯的解決方案。
我需要_context
參考的理由是使用它來填充我的下拉查找列表。所有綁定的UserControl字段都在父窗口中設置了它們的DataContext。父DataContext引用正在執行CRUD的單個實體/表。這個DataContext不包括我的查找表。這就是爲什麼我認爲我需要對_context
的引用,所以我可以使用它在UserControl內部生成LINQ語句來填充我的查找列表。
在此先感謝。
我認爲這會弄亂整個應用程序的當前DataContext。它現在基於正在更新的一個實體/表的ObservableCollection。此ObservableCollection被分配給CollectionViewSource的Source屬性,該屬性成爲父窗口的DataContext。它也成爲UserControls的繼承的DataContext。雖然該父實體具有指向我的查找表的導航屬性,但我不認爲它可以(按原樣)填充我的組合框的ItemsSource。我似乎需要兩個(或更多)DataContexts! – DeveloperDan 2011-05-18 14:44:51