C#/ XAML将图像添加到按钮

我开始使用C#/ XAML在Windows Phone 8中编程。 目前我正在开发一个测验类型WP8应用程序,它有一个问题(文本块)和4个选项(以按钮的forms)。 我想做的是,在按钮中显示这些选项的图像。 我该怎么办?

请检查我已经开始的这是我的DataEntry类:

class DataEntry { List dataModelList = new List(); public List GetData() { dataModelList.Add(new DataModel { ID = 0, Question = "A major", Answer1 = "chords/g_major.gif", Answer2 = "chords/c_major.gif", Answer3 = "chords/b_major.gif", CorrectAnswer = "chords/a_major.gif" }); dataModelList.Add(new DataModel { ID = 1, Question = "B major", Answer1 = "chords/g_major.gif", Answer2 = "chords/d_major.gif", Answer3 = "chords/e_major.gif", CorrectAnswer = "chords/b_major.gif" }); } } 

我的MainPage类:

 public partial class MainPage : PhoneApplicationPage { List dataModelList = new List(); List scoreModelList = new List(); Random rand = new Random(); DataEntry dataEntry = new DataEntry(); int number1, number2, number3, number4, score = 0, scoreToHave = 4; string CorrectAnswer; int QuestionID = 0; public MainPage() { InitializeComponent(); dataModelList = dataEntry.GetData(); Question(); } private void Question() { foreach (var item in dataModelList) { if (item.ID == QuestionID) { TextBlock_Question.Text = item.Question; CorrectAnswer = item.CorrectAnswer; RandomAnswerPlaces(item.Answer1, item.Answer2, item.Answer3, item.CorrectAnswer); } } } public void RandomAnswerPlaces(string Answer1, string Answer2, string Answer3, string Answer4) { String[] Answers = new string[4]; noRepeat(); Answers[number1] = Answer1; Answers[number2] = Answer2; Answers[number3] = Answer3; Answers[number4] = Answer4; btnAnswer1.Content = Answers[0]; btnAnswer2.Content = Answers[1]; btnAnswer3.Content = Answers[2]; btnAnswer4.Content = Answers[3]; } private void noRepeat() { number1 = rand.Next(0, 4); number2 = rand.Next(0, 4); number3 = rand.Next(0, 4); number4 = rand.Next(0, 4); if (number1 == number2 || number1 == number3 || number1 == number4 || number2 == number3 || number2 == number4 || number3 == number4) { noRepeat(); } } private void btnStartGame(object sender, RoutedEventArgs e) { Canvas_StartGame.Visibility = System.Windows.Visibility.Collapsed; Canvas_Game.Visibility = System.Windows.Visibility.Visible; } private void Button_AnswerClick(object sender, RoutedEventArgs e) { string ClickedAnswer = ((System.Windows.Controls.Button)(sender)).Content.ToString(); string ClickedButtonName = ((System.Windows.Controls.Button)(sender)).Name.ToString(); switch (ClickedButtonName) { case "btnAnswer1": btnAnswer1.IsEnabled = false; break; case "btnAnswer2": btnAnswer2.IsEnabled = false; break; case "btnAnswer3": btnAnswer3.IsEnabled = false; break; case "btnAnswer4": btnAnswer4.IsEnabled = false; break; default: break; } if (CorrectAnswer == ClickedAnswer) { if (QuestionID < (dataModelList.Count() - 1)) { QuestionID++; } else { MessageBox.Show(string.Format("Game Over! your final score : {0}", score)); SaveHighScore(); } score += scoreToHave; scoreToHave = 5; Question(); btnAnswer1.IsEnabled = true; btnAnswer2.IsEnabled = true; btnAnswer3.IsEnabled = true; btnAnswer4.IsEnabled = true; } else { scoreToHave -= 2; } TextBlock_ScoreToHave.Text = string.Format("Score you can get: {0}", scoreToHave.ToString()); TextBlock_Score.Text = string.Format("Score: {0}", score.ToString()); } private void SaveHighScore() { if (IsolatedStorageSettings.ApplicationSettings.Contains("scoreList")) { scoreModelList = IsolatedStorageSettings.ApplicationSettings["scoreList"] as List; scoreModelList.Add(new ScoreModel { Score = score, DateSaved = DateTime.Now.ToShortDateString() }); IsolatedStorageSettings.ApplicationSettings.Clear(); IsolatedStorageSettings.ApplicationSettings.Add("scoreList", scoreModelList); IsolatedStorageSettings.ApplicationSettings.Save(); } Canvas_StartGame.Visibility = System.Windows.Visibility.Collapsed; Canvas_Game.Visibility = System.Windows.Visibility.Collapsed; Canvas_HighScore.Visibility = System.Windows.Visibility.Visible; var tempList = from item in scoreModelList where item.Score > 0 orderby item.Score descending select string.Format("Date: {0} Score: {1}", item.DateSaved, item.Score); ListBox_HighScore.ItemsSource = tempList.ToList(); score = 0; scoreToHave = 5; QuestionID = 0; Canvas_StartGame.Visibility = System.Windows.Visibility.Visible; Canvas_Game.Visibility = System.Windows.Visibility.Collapsed; } private void Button_DoneClick(object sender, RoutedEventArgs e) { Canvas_StartGame.Visibility = System.Windows.Visibility.Visible; Canvas_Game.Visibility = System.Windows.Visibility.Collapsed; Canvas_HighScore.Visibility = System.Windows.Visibility.Collapsed; } } 

我的xaml片段:

         

正如您所看到的,到目前为止我所完成的是它只是在按钮中显示字符串(答案)。 我想知道如何显示我从和弦文件夹中调用的图像。 任何帮助表示赞赏。 谢谢。

请尝试以下方法:

  

我不知道添加Content="Answer4"是否会在图像上显示文字。

如果你想要一个圆形按钮我建议使用http://coding4fun.codeplex.com/和他们的RoundButton,它支持设置ImagePath。 http://sofzh.miximages.com/c%23/p=coding4fun“/>