爲什麼view.aBOX
只從MainWindow
內更新TextBoxA
?以及如何解決這個問題?WPF,爲什麼我的綁定只從MainWindow更新?
當我通過view
到w
,它運行得很好。即使調試器顯示view.aBOX
正在使用w
中的消息進行更新。但是,它不會從w
內更新TextBoxA
。
示例代碼:
//MAIN
public partial class MainWindow : Window
{
ViewModel view; //DEBUGGER SHOWS aBOX = "Worker STARTED", But no update
Worker w;
public MainWindow()
{
this.view = new ViewModel();
this.DataContext = this.view;
//TEST
this.view.aBOX = "BINDING WORKS!!"; //UPDATES FINE HERE
this.w = new Worker(this.view);
}
}
//VIEW
public class ViewModel
{
public string aBOX { get; set; }
}
//WORKER
public class Worker
{
ViewModel view;
public Worker(ViewModel vm)
{
this.view = vm;
this.view.aBOX = "Worker STARTED"; //NEVER SEE THIS IN TextBoxA
}
}
//XAML/WPF
<TextBox Name="TextBoxA" Text="{Binding Path=aBOX, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
工作。謝謝!這不會發生我可以使用的汽車房地產改變協議?僞示例:'public string aBOX {get;設置{OnPropertyChanged(「aBOX」); }}。該修復超過了雙倍我的視圖代碼.. – PiZzL3 2011-04-18 18:40:08
@ PiZzL3 - 還沒有,但你可以[投票](http://dotnet.uservoice.com/forums/40583-wpf-feature-suggestions/suggestions/478802-modify-該語言允許爲可觀察適當的?ref =標題)將它添加爲未來的功能。 – CodeNaked 2011-04-18 18:45:47
非常酷!謝謝! – PiZzL3 2011-04-18 18:47:40