FrameworkElementFactory gridFactory = new FrameworkElementFactory(typeof(Grid));
gridFactory.SetValue(Grid.MarginProperty, new Thickness(5));
//gridFactory.SetValue(Grid.RowProperty, row); // 设置Grid.Row
//gridFactory.SetValue(Grid.ColumnProperty, col);
ImageBrush b = new ImageBrush();
b.ImageSource = new BitmapImage(new Uri("pack://application:,,,/Content/Images/GameImg/" + game.GameCode + ".png", UriKind.RelativeOrAbsolute));
b.Stretch = Stretch.Fill;
gridFactory.SetValue(Grid.BackgroundProperty, b);
Style style = new Style();
style.TargetType = typeof(Button);
Setter setter = new Setter();
setter.Property = ContentControl.TemplateProperty;
ControlTemplate temp = new ControlTemplate(typeof(Button));
temp.VisualTree = gridFactory;
setter.Value = temp;
style.Setters.Add(setter);
Button button = new Button();
button.Content = game.GameName;
button.Command = this.FindResource("PlayCmd") as RoutedCommand;
button.CommandParameter = game.GameCode;
//button.Margin = new Thickness(5);
button.SetValue(Grid.RowProperty, row);
button.SetValue(Grid.ColumnProperty, col);
button.Style = style;
this.rootGrid.Children.Add(button);