view.aBOX
이 (가) 인 경우에만 MainWindow
에서 업데이트합니까? 어떻게 해결할 수 있을까요?WPF, 왜 내 바인딩은 MainWindow에서만 업데이트합니까?
view
을 w
으로 전달하면 완벽하게 실행됩니다. 심지어 디버거도 w
의 메시지로 업데이트되는 view.aBOX
을 보여줍니다. 그러나 TextBoxA
은 w
에서 업데이트되지 않습니다.
예제 코드 :
//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; set {OnPropertyChanged ("aBOX"); }}'. 픽스는 내 뷰 코드를 두 배 이상으로 만듭니다. – PiZzL3
@ PiZzL3 - 아직은 아니지만 [투표] (http://dotnet.uservoice.com/forums/40583-wpf-feature-suggestions/suggestions/478802-modify- 관찰 할 수있는 적절한 "ref = title")을 미래의 기능으로 추가 할 것을 요구합니다. – CodeNaked
정말 멋지다! 감사! – PiZzL3