gpt4 book ai didi

c# - 如何动态更改 BackgroundColor 的资源?

转载 作者:行者123 更新时间:2023-12-02 17:11:40 25 4
gpt4 key购买 nike

我有以下控制权。我想更改某些事件触发器的背景颜色。我想将此 clrGray 资源设为某些事件点击时的颜色。

我试过以下方法,但没有用:(

XAM:

<local:RoundedFrame x:Name="MyFrame1" HeightRequest="16" IsVisible="True" BackgroundColor="{DynamicResource clrGreen}">

CS:

//On Some event
//Not working
MyFrame1.SetDynamicResource(MyFrame1.BackgroundColor, "clrGreen");

最佳答案

您可以像这样动态更改颜色:App.Current.Resources["yourColorKey"] = Color.FromHex("hexColor");

例子:

您的 App.xaml 文件:

<Application.Resources>
<!-- Application resource dictionary -->

<ResourceDictionary>
<Color x:Key="backgroundColor">#0066B3</Color>
</ResourceDictionary>

</Application.Resources>

您的 xaml 文件:

<StackLayout>

<StackLayout
Margin="10"
BackgroundColor="{DynamicResource backgroundColor}"
HeightRequest="30"
WidthRequest="30" />

<Button x:Name="btnColorChange" Text="Click me!" />

</StackLayout>

在您的事件处理程序中:

 private void OnBtnClicked(object sender, EventArgs e)
{
App.Current.Resources["backgroundColor"] = Color.FromHex("#F15A29");
}

关于c# - 如何动态更改 BackgroundColor 的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48924145/

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