[英]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.