Blazor-将元素添加到SVG对象
我想用blazor操作一个SVG对象,是可以通过C#客户端实现,还是需要使用javascript。 例如,根据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) @代码{ 公共
任何指点都将不胜感激。我在添加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;
}