2014-04-25 14 views
0

我試圖製造類似,其中3個問題將在同一時間內長大的屏幕測驗應用程序,允許用戶檢查包含「是」或「否」單選按鈕的網格,他的回答有適當的答案。問題將持續來自我正在使用的數據庫。使物體

經過幾次嘗試,我發現使用x:Name屬性並不是一個好的解決方案,因爲它不允許我使用循環來更改問題和答案。是否有任何其他方法,使具有相同類型的對象的網格,每個單元格,能夠訪問每個對象網格的每個細胞內部的代碼隱藏

+3

你不想使用代碼隱藏..創建一個綁定到3個「問題」對象列表的視圖模型..然後你可以只更新這些對象中的屬性 –

+1

沒有必要「訪問」任何在WPF代碼隱藏中的UI元素。事實上,隱藏文件的代碼應該包含什麼,但在InitializeComponent'(呼叫)',並最終UI特有的代碼(如動畫之類的,有時是很難在XAML做)。創建一個合適的ViewModel並使用正確的DataBinding,所有的問題都會神奇地消失。 –

+0

對不起,這裏是一個新手,但有向你推薦開始解決建築的ViewModels使用過程中的任何指南? –

回答

1

這裏是您需要執行的步驟列表,

  • 需要創建QuestionModel,包含問題屬性,請確保您的模型繼承INotifyPropertyChanged的。
  • 需要創建視圖模型,其中包含的數據對象,公共/依賴屬性
  • 需要綁定/組數據對象/(的.xaml)在視圖模型構造性質
  • 需要設置你的視圖模型作爲您查看的一個DataContext (您可以直接zammel和代碼隱藏創建這個問題,以及
  • 需要綁定你的UI對象,如問題/答案/是 - 否與視圖模型性質相應

WPF/Silverlight有自己的基本面,如數據綁定,資源,編譯器,依賴屬性。上述步驟包含MVVM設計模式。在每個步驟,請谷歌具體的東西。