我正在尝试构建一个高尔夫比赛跟踪程序,该程序使用画布为每个玩家保存一组排列好的按钮和数据绑定项目。因为游戏中的人数是动态的,所以我需要能够动态构建画布并动态绑定它们。我遇到的问题是设置数据绑定。如果我尝试在代码中绑定,那么绑定的文本 (text={Binding}) 总是会出现,就好像它是字符串文字而不是实际绑定一样。为了解决这个问题,我尝试构建画布模板,但在构建新玩家时,我找不到将模板实际应用到新画布的方法。
因此,考虑到所有这些,最好的方法是 A) 使用我的所有控件构建模板画布,以便我可以复制并绑定到每个播放器,或者 B) 动态构建文本绑定而不必求助于 XAML?
编辑:添加以下内容以澄清我如何创建文本块。
TextBlock newBlock = new TextBlock
{
Text = "{Binding}",
FontSize = 42,
DataContext = Player.SomeStat,
Name = Player.PlayerName ,
};
屏幕上显示的文本块值(而不是应有的值)是:{Binding}