2017-03-06 48 views
-1

我是WPF的初學者。雖然在代碼中的代理對WPF值的訪問

這是關於數據綁定,使用Helix ToolKit定義的3D對象。 的一點是,所使用的對象不從FrameworkElement派生,所以我得到的運行時錯誤:

System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element.

我靠this blog我的問題的解決方案。

根據這篇文章,我的問題是如何設置代碼中的數據值?我是否必須實例化代理,還是有一些我想念的技巧?

任何幫助非常感謝!

+0

顯示您的具體問題,你已經嘗試過什麼 – Fruchtzwerg

+0

dataGrid.Columns [0] = .Binding新的Binding(什麼)? –

回答

0

那麼這個問題是下投票,我想這是不是那麼清楚......

其實我錯了,我不需要訪問代碼的代理實例。

在視圖模型我聲明數據變量DataViewModel,並在XAML我設置使用視圖模型值代理變量DataProxy,通過執行:

<Proxy x:Key="proxyKey" DataProxy="{Binding DataViewModel}" /> 

而對於值Data3D設置爲3D對象,我一樣在博客:

<Object3D Data3D="{Binding DataProxy, Source={StaticResource ResourceKey=proxyKey}}" 

的視圖的標題聲明DataContext引用視圖模型。在ViewModel的代碼中,我可以訪問屬性DataViewModel來定義它的值。屬性DataViewModel在ViewModel中定義,以便它可以綁定到視圖。

它的工作原理,沒有更多的錯誤...