gpt4 book ai didi

c# - xamarin 表单 - 更改所有轮播内容页面上的按钮文本

转载 作者:行者123 更新时间:2023-11-28 23:50:07 24 4
gpt4 key购买 nike

执行以下操作的“最佳”(或更好)方法是什么?

在轮播页面(比如 6 个内容页面)中,我单击一个按钮,部分操作会更改该按钮上的文本,但它也必须更改所有其他内容页面。

我目前在轮播页面 OnCurrentPageChanged() 中发生这种情况,我在其中调用一个函数并传入“this”。 helpers.ChangeAll(this);

public void ChangeAll(CarouselSwipePage page)
{
foreach (SwipePageContent v in page.Children)
{
Button b = v.Content.FindByName<Button>("pause");
if (GlobalSettings.Settings.Default.CarouselCountEnabled) //this is set elsewhere and is used to determine whether the carousel is changing automatically, if it is then set the text to pause
{
b.Text = FontAwesomeFont.PauseCircleO;
}
else
{
b.Text = FontAwesomeFont.PlayCircleO;
}
}
}

这在 android 上工作正常,但在 ios 上,当用户在单击按钮后滑动到下一个内容页面时,按钮文本在更改为新值之前暂时是旧值,因为调用了 OnCurrentPageChanged() 函数。

除此之外,我相信一定有更好的方法来做到这一点,它看起来很垃圾。

最佳答案

为按钮创建一个样式,然后只更改样式的文本值怎么样?

因此,使用绑定(bind)属性或动态资源,当您更改值时,它将更改应用程序中使用此样式的所有按钮。我认为这种方法比循环更好、更简单。

关于c# - xamarin 表单 - 更改所有轮播内容页面上的按钮文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52100381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com