如何链接或引用UI控件,如代码中的按钮

本文关键字:控件 代码 按钮 UI 引用 何链接 链接 | 更新日期: 2023-09-27 18:22:11

我一直在搜索并试图找出如何将变量链接到UI控件,以便在代码中使用该变量执行特定UI的操作。

例如,我在MainPage.xaml中有一个名为NextButton的按钮。我想定义一个变量,比如button类型的nextButton,这样我就可以执行按钮操作,比如c#类中的nextButton.Content。这似乎只能在MainPage.xaml中完成,即使这样,我也不知道如何将按钮变量链接到特定的按钮。

为了让我自己更清楚,让我说,你可以在android中使用findViewById来做这样的事情。

如何链接或引用UI控件,如代码中的按钮

我不确定我是否理解你的问题,但假设你在窗口上有一个指定名称的按钮。访问另一个类中该按钮的唯一方法是访问该类中的窗口实例。

我相信该窗口可以作为frameworkelement进行强制转换,并且可以使用FindName方法在这里查找该窗口中的元素。然而,只有当您可以访问该类中的实例化窗口时,这才有效。

在XAML中:

<Button x:Name="nextButton" Text="Next" />

在相应的.cs文件中,成员变量nextButton将是类的一部分:

nextButton.Content = SomethingAmazing;

这可能与您想要的略有不同,但如果您只想更改按钮的内容,可以使用数据绑定,然后为其他类直接提供对数据的访问点。

对我来说,听起来你想直接从另一个视图更改另一个观点,这听起来不太"MVCey"。取而代之的是,使用一个通用的底层数据模型,并对其进行更改,让按钮确定它们应该做什么。如果您的按钮执行方法,或者它的状态由方法处理。

如果你真的想直接为按钮提供一个访问点,你可以有类似的东西

public abstract class CommonUIControls {
    public static Button nextButton = null;
}
public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
        CommonUIControls.nextButton = nextButton;
    }
}

不过,我不建议这样做。