Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blazor-将元素添加到SVG对象_Svg_Blazor Client Side - Fatal编程技术网

Blazor-将元素添加到SVG对象

Blazor-将元素添加到SVG对象,svg,blazor-client-side,Svg,Blazor Client Side,我想用blazor操作一个SVG对象,是可以通过C#客户端实现,还是需要使用javascript。 例如,根据SVG区域中的单击以编程方式绘制一条线。 任何指点都将不胜感激。我在添加SVG组件方面发现了很多,但在向现有SVG组件添加元素方面却没有发现任何内容您可以使用SVG文件内容作为Blazor组件中的标记,然后执行您通常会执行的任何Blazor-y操作 在svg标记中放入一个变量,并将其构建为字符串 下面是一个高度简化的摘录: (MySvgComponent.blazor) @代码{ 公共

我想用blazor操作一个SVG对象,是可以通过C#客户端实现,还是需要使用javascript。 例如,根据SVG区域中的单击以编程方式绘制一条线。
任何指点都将不胜感激。我在添加SVG组件方面发现了很多,但在向现有SVG组件添加元素方面却没有发现任何内容

您可以使用SVG文件内容作为Blazor组件中的标记,然后执行您通常会执行的任何Blazor-y操作

在svg标记中放入一个变量,并将其构建为字符串

下面是一个高度简化的摘录: (MySvgComponent.blazor)


@代码{
公共字符串@PointString{get;set;}
公共无效添加点(整数X,整数Y){
@点字符串+=“”+X+”,“+Y;
}
您必须添加自己的代码以确定要在何处添加点。您可以创建一个列表参数以从父对象或其他对象传入,然后在OnInitialized()中的foreach循环中调用AddPoint。您还可以通过使用变量替换“0074d9”等文字来非常轻松地替换笔划颜色或其他任何内容“@myColorString。”

处理鼠标单击位置需要一些花哨的JS工作。请尝试使用Javascript互操作,如下所示:

您可以使用SVG文件内容作为Blazor组件中的标记,然后执行通常会执行的任何Blazor-y操作

在svg标记中放入一个变量,并将其构建为字符串

下面是一个高度简化的摘录: (MySvgComponent.blazor)


@代码{
公共字符串@PointString{get;set;}
公共无效添加点(整数X,整数Y){
@点字符串+=“”+X+”,“+Y;
}
您必须添加自己的代码以确定要在何处添加点。您可以创建一个列表参数以从父对象或其他对象传入,然后在OnInitialized()中的foreach循环中调用AddPoint。您还可以通过将“0074d9”等字面值替换为变量来非常轻松地替换笔划颜色或其他任何内容@“我爱你。”

处理鼠标单击位置需要一些花哨的JS工作。请尝试使用Javascript互操作,如下所示:

<svg blah blah blah>
    <polyline fill="none" stroke="#0074d9"
        stroke-width="2" points="@PointString" />
</svg>
@code {
    public string @PointString {get;set;}
    public void AddPoint (int X, int Y){
         @PointString += " " + X + "," + Y;
}