2012-08-07 1 views
0

안녕하세요, 내 MVVM 응용 프로그램에서 3 개의 영역 기반보기가 있습니다. 나는 MVVM에 익숙하지 않고 다른보기에서 버튼을 클릭하면 DataGrid를 업데이트하려고합니다.mvvm의 다른보기에서 한보기에서 제어를 업데이트하는 방법

하나의보기에는 하나의 단추가 있고 두 번째보기에는 DataGrid가 있습니다. 다른보기의 단추를 누르면 DataGrid 결과를 업데이트하거나 DataGrid를 바인딩하고 싶습니다. eventService를 사용하여 몇 가지 게시물을 보았지만 확실하지 않습니다. cany 사람은 내가 새로운 것에 따라 나에게 그렇게 할 약간의 예를 준다. 그래서 확실하지 않은. 미리 감사드립니다.

뷰 모델 :

public class MyModel : ViewModel 
{ 
    static myModel; 
    public static MyModel Current { get { if(myModel==null) myModel=new MyModel(); return myModel; } } 

    public IEnumerable<T> Data { get { ... } set { /* Notification */ }} 
    public ICommand SetData {get { return new DelegateCommand(()=>Data= /* return the data */); } 
} 

단추보기 :

<Button Command={Binding SetData} /> 

데이터 그리드보기 :

<DataGrid ItemsSource={Binding Data} /> 

답변

1

단순한 솔루션은보기에 동일한 뷰 모델을 사용하는 것이다 코드 숨김 두보기 중 하나를 생성자에 추가하십시오. this.DataContext = MyModel.Current;

관련 문제