首页 > 解决方案 > 如何设置传递给另一个类的类的属性值?

问题描述

我有一个看起来像这样的应用程序:

public partial class MainPage : TabbedPage
{
    public bool DarkTheme
    {
        get { return _darkTheme; }
        set { _darkTheme = value; OnPropertyChanged(); }
    }
    bool _darkTheme;

    public MainPage()
    {
        InitializeComponent();
        App.settingsTabPage = new SettingsTabPage(this);

在 SettingsTabPage 我有这个:

public partial class SettingsTabPage : ContentPage
{
    public TabbedPage mainPage;

    public SettingsTabPage(TabbedPage mp)
    {
        InitializeComponent();
        mainPage = mp;

但是当我想像这样对 DarkTheme 进行更改时,它找不到 DarkTheme:

        mainPage.DarkTheme << can't find DarkTheme

有人可以就我做错了什么给我一些建议吗?

标签: c#

解决方案


SettingsTabPage类内部,您必须强制mainPage转换为MainPage类,或者将mainPage变量类型声明为MainPage类。

任何一个

(mainPage as MainPage).DarkTheme = ...

或者

public partial class SettingsTabPage : ContentPage
{
    public MainPage mainPage;

    public SettingsTabPage(MainPage mp)
    {
        InitializeComponent();
        mainPage = mp;

推荐阅读