WPF c#从子窗口更改按钮内容

本文关键字:按钮 窗口 WPF | 更新日期: 2023-09-27 18:01:42

我正在开发一个触摸屏应用程序。我有一个带有内容"新播放器"按钮的表单,然后显示一个带有文本框的键盘,供用户输入他的名字。现在我需要在关闭(或在输入名称时)父窗口中的按钮时将内容更改为用户键入的名称。但是我不能绑定到父节点…我该怎么做?

WPF c#从子窗口更改按钮内容

您是在WPF应用程序中实现Model-View-ViewModel模式,还是使用数据绑定?

你不必使用MVVM,但你应该以某种方式使用数据绑定。

使用数据绑定,您将按钮内容绑定到某个对象(MVVM中的视图模型)的字符串属性。该对象需要实现INotifyPropertyChanged接口。您可以将子窗口上的文本框绑定到同一对象的相同属性。

这样,当用户输入一个新的球员名字时,按钮将自动更新。

如果你需要更多的细节,请评论,我很乐意详细说明。

您可以尝试这样做:

var button = this.Parent.Controls.OfType<Button>().Select(b => b.Name == "NameOfControl").First();
button.Content = name;

编辑:Jay的想法是正确的方法,我只是提供了一种使用LINQ从父控件访问控件的替代方法。