0
您好我在我的MVVM應用程序中有三個基於區域的視圖。我是MVVM的新手,我想通過點擊不同視圖中的按鈕來更新DataGrid。如何從另一個視圖更新控制在一個視圖mvvm
一個視圖有一個按鈕,第二個視圖有數據網格。我想更新datagrid結果或綁定datagrid時按下其他視圖上的按鈕。我在eventService上看到了一些帖子,但我不知道如何。任何人都可以給我一些例子,因爲我是新的,所以不確定。提前致謝。
您好我在我的MVVM應用程序中有三個基於區域的視圖。我是MVVM的新手,我想通過點擊不同視圖中的按鈕來更新DataGrid。如何從另一個視圖更新控制在一個視圖mvvm
一個視圖有一個按鈕,第二個視圖有數據網格。我想更新datagrid結果或綁定datagrid時按下其他視圖上的按鈕。我在eventService上看到了一些帖子,但我不知道如何。任何人都可以給我一些例子,因爲我是新的,所以不確定。提前致謝。
一個簡單的解決方案是使用在兩個視圖中相同的視圖模型:
視圖模型:
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} />
在代碼隱藏中將這兩個視圖添加到構造函數中: this.DataContext = MyModel.Current;