我覺得這應該很容易,但我已經花了最近幾個小時嘗試解決方案,沒有任何東西似乎工作。將XAML屬性綁定到代碼隱藏的任意對象
我在XAML代碼中有一個對象,我想將它的一個屬性綁定到在c#代碼隱藏中創建的對象。這是迄今爲止我的策略:
<setpwindows:ScalingWindow
...
>
<setpwindows:ScalingWindow.Resources>
<localwpf:ObjectProvider x:Key="locationProvider"/>
</setpwindows:ScalingWindow.Resources>
...
...
<DataGridTextColumn
Header="Code Out"
Binding="{Binding Source={StaticResource locationProvider}, Path=Obj.Name}"
/>
...
...
</setpwindows:ScalingWindow>
與ObjectProvider如下:窗口被初始化
class ObjectProvider : DependencyObject
{
private object _obj;
public object Obj
{
get { System.Diagnostics.Debug.WriteLine("Got object as " + _obj); return _obj; }
set { _obj = value; System.Diagnostics.Debug.WriteLine("Set object to " + _obj); }
}
public static readonly DependencyProperty ObjProperty = DependencyProperty.Register("Obj", typeof(object), typeof(ObjectProvider));
public ObjectProvider() {}
}
後,我設置的OBJ這樣的:
WPFObjects.ObjectProvider locProv = this.FindResource("locationProvider") as WPFObjects.ObjectProvider;
locProv.Obj = _tempLocation;
這次終於沒有給我在輸出窗口中綁定錯誤,但它實際上並沒有綁定任何東西。這樣做的標準方式是什麼?
你必須學習依賴屬性和從零開始綁定 – sll 2012-03-29 20:05:21