小编Csa*_*aba的帖子

Blazor 非基类继承

考虑一个简单的 blazor 组件MyText

<p>@Title</p>

public partial class MyText
{
    [Parameter] public string Title { get; set; }
}

Run Code Online (Sandbox Code Playgroud)

在页面中我将其用作: <MyText Title="Abc" />

现在我想扩展这个组件,但不想更改它,而是通过新组件MyTextEx派生它并添加另一个参数。就像是:

@inherits MyText

<!-- Show base component something like: --!>
@base

<p>@Message</p>

public partial class MyTextEx
{
    [Parameter] public string Message { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我找不到如何显示基本组件的内容?所以它被渲染为:

<p>@Title</p>
<p>@Message</p>
Run Code Online (Sandbox Code Playgroud)

请注意,这是一个简化的示例,我的基本组件有很多参数、事件,并希望虚拟方法可以被扩展/派生组件覆盖。我试图避免在基本组件的 razor 文件中使用类似于组合的方法,因为据我所知,我必须再次用参数填充它:

@inherits MyText

<MyText Title="@Title" />

<p>@Message</p>
Run Code Online (Sandbox Code Playgroud)

我能够找到带有基本/抽象组件的继承示例,但找不到带有最终组件的继承。

知道如何实现这一目标吗?

谢谢,查巴

c# inheritance razor blazor

5
推荐指数
1
解决办法
3268
查看次数

MAUI GraphicsView鼠标点击事件

我是.Net Maui的新手。尝试使用GraphicsView和绘制我自己的形状IDrawable。我想让形状可点击。

有办法实现吗?也许还有另一个IClickable我不知道的界面。或者我应该使用与GraphicsView.

谢谢 :-)

maui

5
推荐指数
1
解决办法
2397
查看次数

即使使用任务,Blazor UI 也会冻结

考虑 Blazor WebAssembly App(ASP.NET Core 托管)“空”项目。我调整了 Counter 页面如下:

<button class="btn btn-primary" @onclick="IncrementCountAsync">Click me</button>
Run Code Online (Sandbox Code Playgroud)

及其 Counter.razor.cs 文件:

public partial class Counter
{
    private static int currentCount = 0;

    private async Task IncrementCountAsync()
    {
        Console.WriteLine("Increment called");

        _ = HeavyComputeAsync();

        currentCount++;

        Console.WriteLine($"Counter = {currentCount}");
    }

    private static Task<int> HeavyComputeAsync()
    {
        return Task.Run(() =>
        {
            Console.WriteLine("Task start");

            for (long ndx = 0; ndx < 1000000; ++ndx)
                ndx.ToString();

            Console.WriteLine("Task end");
            return 0;
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

我将HeavyComputeAsync方法称为_ = ...,它不应等到IncrementCountAsync方法完成,而应立即更新currentCount …

c# task asp.net-core blazor

4
推荐指数
1
解决办法
3401
查看次数

标签 统计

blazor ×2

c# ×2

asp.net-core ×1

inheritance ×1

maui ×1

razor ×1

task ×1