Quiz Master is a feature-rich desktop assessment tool built with WPF and the MVVM pattern. It allows users to create, edit, and play custom quizzes with dynamic category selection.
The project structure strictly follows the Model-View-ViewModel (MVVM) pattern to ensure testability and separation of concerns.
located in /DataModels
- Question.cs & Quiz.cs: POCO classes representing the core domain entities.
- Separation: Keeping models separate ensures the data layer is decoupled from the UI.
Handles the business logic and state, communicating with the UI via Data Binding and Commands.
- PlayQuizViewModel: Manages the game loop, score tracking, and question navigation.
- Create/EditQuizViewModel: Handles the CRUD logic for managing the question bank.
- CategorySelectionViewModel: Logic for filtering and selecting quiz topics.
Pure XAML files responsible for the layout.
- CreateQuizView / EditQuizView: Forms for data entry.
- PlayQuizView: The interactive game interface.
- Value Converters: Uses
NullOrEmptyToVisibilityConverterto dynamically control UI element visibility based on data state.
- Full CRUD System:
- Create: Add new questions and quizzes.
- Read: Load existing quizzes from storage.
- Update: Edit typos or options in existing questions (
EditQuizView). - Delete: Remove outdated content.
- Dynamic UI:
- Real-time feedback during gameplay.
- Smart visibility toggling using custom IValueConverter.
- Clone the repository
git clone https://github.com/Qian1507/QuizGame.git
- Build Solution
- Open
Labb3-NET22.slnin Visual Studio. - Build the solution to restore dependencies.
- Open
- Run
- Press
F5. - Select a category to start playing, or enter "Edit Mode" to manage questions.
- Press
Developed as a demonstration of advanced WPF Data Binding and MVVM structure.