我正在开发一款触摸屏应用。我有一个带有按钮的表单,内容为“new player”,然后显示带有文本框的键盘,供用户输入他的名字。现在我需要当我关闭(或在输入名称时)父窗口中的按钮时将内容更改为用户键入的名称。但我不能与父母绑定..我怎么能这样做?
答案 0 :(得分:1)
您是在WPF应用程序中实现Model-View-ViewModel模式,还是使用数据绑定?
您不必使用MVVM,但您应该以某种方式使用数据绑定。
使用数据绑定,您可以将按钮内容绑定到某个对象的字符串属性(MVVM中的视图模型)。该对象需要实现INotifyPropertyChanged
接口。您可以将子窗口上的文本框绑定到同一对象的同一属性。
有了这个,当用户键入新的玩家名称时,该按钮将自动更新。
如果您需要更多详情,请发表评论,我很乐意详细说明。
答案 1 :(得分:0)
您可以尝试以下内容:
var button = this.Parent.Controls.OfType<Button>().Select(b => b.Name == "NameOfControl").First();
button.Content = name;
编辑:Jay的想法是正确的方法,我只是提供了一种使用LINQ从父母访问控件的替代方法。