当前位置: 首页 > 知识库问答 >
问题:

如何在blazor应用程序中设置绑定变量的回退值?

董和风
2023-03-14

来自WPF开发,我正在使用ASP。NET和Blazor在理解以下内容时有点困难:例如,我想将CSS类值绑定到代码隐藏类的属性。

@inherits TextGenerator
<style>
    .mycssclass
    {
        opacity: @TextOpacity;
        transition: opacity 2s;
    }
</style>
<div class="modal-dialog-centered">
    <h1>@Text</h1>
</div>

这就是代码隐藏类的样子:

public class TextGenerator : ComponentBase
{
    public event Func<Task> OnPropertyChanged;

    private string _text;
    public string Text 
    { 
        get
        {
            return _text;
        }
        set
        {
            _text = value;
            OnPropertyChanged.Invoke();

        }
    }

    private float _textOpacity;
    public float TextOpacity
    {
        get
        {
            return _textOpacity;
        }
        set
        {
            _textOpacity = value;
            OnPropertyChanged.Invoke();

        }
    }

    protected async Task StartTextSlideShow()
    {
        Text = "";
        TextOpacity = 1.0f;
        for (int i = 0; i < 1000; i++)
        {
            Text = "Test #" + i.ToString();
            await Task.Delay(100);
        }
    }

    protected override void OnInitialized()
    {
        OnPropertyChanged += PropertyChange;
        _ = StartTextSlideShow();
    }

    public async Task PropertyChange()
    {
        await InvokeAsync(() =>
        {
            StateHasChanged();
        });
    }
}

我的问题如下:如何为不透明度设置初始或后备值?例如,在这种情况下,我希望不透明度初始化为0,这样当我在StartTextSlideShow()中将其设置为1.0f时,文本将淡入。

共有1个答案

阎修杰
2023-03-14

你误解了我的意思。

在编译时,样式css代码被移动到mycomponent中。剃须刀css文件和标记代码被编译成与代码隐藏类同名的部分类。没有对样式的运行时访问。

您可以使用直接样式属性设置不透明度,如下所示:

<div class="bg-primary" style="opacity:@Opacity ;">Click to change my Opacity</div>

<button class="btn btn-primary ml-3" @onclick="OnClick">Change Opacity</button>

@code {
    decimal Opacity = 1m;

    void OnClick()
    {
        Opacity = Opacity - 0.1m;
    }
}

或者有一系列关于不同不透明度的样式,你可以将其应用于你想要的样式元素

.opacity-100
{
opacity: 1;
}
.opacity-90
{
opacity: .9;
}
 类似资料:
  • 问题内容: 等效于以下命令行: 要运行我的应用程序,必须在PATH变量中添加一些内容。因此,我想在程序开始时捕获异常,如果程序无法启动,并显示一些向导供用户选择需要放在PATH中的程序的安装文件夹。我将使用该文件夹的绝对路径,并将其添加到PATH变量中,然后再次启动我的应用程序。 编辑 : 那个“东西”是VLC播放器。我需要PATH变量中的安装文件夹(例如:C:\ Program Files \

  • 自从升级到OSX Mountain Lion之后,我在为eclipse和Maven设置环境变量时遇到了一些问题。 我的目标是在Eclipse中运行一个maven命令。该命令需要从远程存储库下载人工制品(解析依赖项)。存储库通过HTTPS进行身份验证。 (另请参见在Mac OS X Lion上设置环境变量)这对OSX Lion非常有效。 但苹果在Mountain Lion上改变了这种行为。我读过en

  • 我正在写一个批处理应用程序,我想在我的应用程序逻辑识别问题并返回时立即设置退出状态。 例如,我正在Writer的write方法中设置以下状态。

  • 问题内容: 我想绑定变量,而不只是构建SQL字符串。无论如何要在PHP中执行此操作? MySQL或PostgreSQL答案都会有所帮助。 谢谢 问题答案: 例如有PDO。 有关pdo和预处理语句(包括绑定参数)的介绍,请参见http://docs.php.net/pdo.prepared- statements

  • 我正在考虑是否可以根据应用程序部署到的Beanstalk环境将React应用程序设置为具有特定的环境变量。 我的目标是使预编译的react代码具有特定于该环境的环境变量。我希望避免向用户提供具有所有环境变量的JS代码 是否可以使用MsBuild条件,以便根据所选的Beanstalk环境运行不同的构建脚本?或者可能是基于Beanstalk内部环境变量的条件?

  • 谁能建议我如何在运行节点应用程序时在dockerfile中设置NODE_ENV变量。