簡體   English   中英

通過單擊不同頁面上的不同按鈕來更改按鈕背景顏色

[英]Change button background color by clicking a different button on a different page

我正在嘗試完成一項讓我有點煩惱的任務。 我在 2 個不同的頁面上有 2 個按鈕,我想實現這個; 當按下位於第二頁的按鈕時,更改位於第一頁的按鈕的背景顏色。 示例:首頁:

<Stacklayout>
  <Button Text="Task 1"
          x:Name = "firstPage"
          BackgroundColor = "Red" />
</Stacklayout>

第二頁:

<Stacklayout>
  <Button Text="Completed"
          x:Name = "secondPage"
          Clicked = "ChangeColourForFirst" />
</Stacklayout>

最簡單的解決方案是在單擊按鈕時使用MessagingCenter發送通知。

在第一頁

public MainPage()
    {
        InitializeComponent();

        MessagingCenter.Subscribe<Object, Color>(this, "changeColor", (arg,color) => {

            firstPage.BackgroundColor = color;


        });

    }

在第二頁

private void ChangeColourForFirst(object sender, EventArgs e)
{
    MessagingCenter.Send<Object, Color>(this, "changeColor", Color.Red); // send the bgcolor that you want to change
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM