2010-08-19 5 views
0

"FrameworkElement"에서 파생되지 않은 클래스에서 "DataContext"라는 종속성 속성을 가질 수 있습니까 ("DependencyObject"에서 파생 될 수 있습니까?)?WPF : 비 GUI 클래스의 DataContext 종속성 속성?

이미 (Window.Resources에 추가 한) 클래스를 만들었지 만 DataContext는 항상 null입니다.

아이디어가 있으십니까?

+0

무엇을하려고합니까? –

+0

미래의 계획은 WPF없이 데이터 바인딩과 함께 XAML을 사용하는 것입니다. 이 작업을 수행하게되면 매우 유용한 오픈 소스를 제공 할 수도 있습니다. 상자 밖에서 생각해보십시오 - 저는 데이터 바인딩을 사용하여 객체 생성 도구로 XAML을 사용 하겠지만 WPF가 아니라 (말했듯이). 그리고 나는 사람들이 존재하지 않는다고 생각하는 틈새 시장을 채울 것입니다. 그러나, 지금까지 제가 생각한 몇 안되는 사람들은 기절했습니다. – StormianRootSolver

+1

이게 당신이 찾고있는 것인지 모르겠지만 바인딩 목적으로 부모의 DataContext를 "상속"할 수있는 비 FrameworkElement 및 비 FrameworkContentElement 클래스가 있다는 것을 알고 있습니다. 예를 들어, WPF 4에서는 InputBinding의 Command 속성을 바인딩 할 수 있으며 부모의 DataContext를 사용합니다. 참조 : http://tomlev2.wordpress.com/2009/10/26/vs2010-binding-support-in-inputbindings/ 아마 이것으로 파고 들어 무엇을 제안하는지 볼 수 있습니다. –

답변

0

AddOwner 메서드를 사용해 보셨습니까? 예 (FrameworkContentElement는) :

DataContextProperty = FrameworkElement.DataContextProperty.AddOwner(typeof(FrameworkContentElement), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits, new PropertyChangedCallback(FrameworkContentElement.OnDataContextChanged))); 

당신이 콜백을두면/옵션 .. 그것이 작동하지 않을 수 있습니다.