私は WPF アプリケーションの作成を学んでいて、宿題を出しました。wpf mvvm "tron lightcycle game" を作成する必要がありますが、残念ながら行き詰まりました。
ビュー (Mainwindow.xaml) には Canvas があります。ここに描けばいいのに。
...
<Canvas Name="cnvs_game" Margin="5,5,5,5">
...
ViewModel には GameData クラスと Timer があります。GameData の更新 (GameTime,Player1CanvasPosition (Point),...) を刻むたびに。
次のように Gametime を View に入札します。
メインウィンドウ.xaml.cs:
...
<TextBlock Text="{Binding GameTime}" />
...
ViewModel.cs:
...
private GameData _GameData;
...
public String GameTime { get { return _GameData.GameTime.ToString(); } }
...
private void GameTimer_Tick(object sender, EventArgs e)
{
_GameData.Step();
OnPropertyChanged("GameTime"); // PropertyChanged with error handling
OnPropertyChanged("Player1CanvasPosition ");
OnPropertyChanged("Player2CanvasPosition ");
}
ビューでの GameTime の更新。難しくありませんでした。しかし、私はまだ描き方がわかりません。
Player1CanvasPosition を取得し、(キャンバス内に) Rectangle を描画するにはどうすればよいですか。これを行う最善の方法は何ですか?お願い助けて!:S