キャンバスを使用して、各プレーヤーのボタンとデータバインドされたアイテムの配置されたセットを保持するゴルフゲーム追跡プログラムを構築しようとしています。ゲームの人数は動的であるため、キャンバスをその場で作成し、その場でバインドできるようにする必要があります。私が抱えている問題は、データバインディングの設定です。コードでバインドしようとすると、バインディングのテキスト(text = {Binding})は、実際のバインディングではなく文字列リテラルであるかのように常に出力されます。これを回避するために、キャンバスのテンプレートを作成しようとしましたが、新しいプレーヤーを作成するときに、テンプレートを新しいキャンバスに実際に適用する方法が見つかりません。
それで、これらすべてを念頭に置いて、A)すべてのコントロールを使用してテンプレートキャンバスを作成し、各プレーヤーにコピーしてバインドできるようにするか、B)XAMLに頼らずにテキストバインディングを動的に作成するための最良の方法は何ですか?
編集:テキストブロックの作成方法を明確にするために、以下が追加されました。
TextBlock newBlock = new TextBlock
{
Text = "{Binding}",
FontSize = 42,
DataContext = Player.SomeStat,
Name = Player.PlayerName ,
};
テキストブロックの画面に表示される値は(本来あるべきものではなく)次のとおりです。{Binding}