如何从 windows 8.1 商店应用中的 ViewModel C# class 将按钮插入网格

How to insert button into Grid from ViewModel C# class in windows 8.1 store app

我可以从代码隐藏文件中将按钮插入网格控件,如

var fElem = new Button();                 

fElem.Content = "button text";
bgGrid.Children.Add(fElem); // bgGrid defined in xaml

如何从视图模型向网格添加相同的按钮 class?

在 xaml 页面 (xaml.cs) 的代码隐藏中,您需要公开网格

public Grid MyGrid => bgGrid;

然后您可以像这样从您的 ViewModel 访问它:

Frame rootFrame = Window.Current.Content as Frame;
var page = rootFrame.Content as YourPageClassName;
var fElem = new Button();                 
fElem.Content = "button text";
page.MyGrid.Children.Add(fElem); 

然而,这根本不是 MVVM。