An open API service indexing awesome lists of open source software.

https://github.com/byjrk/wpfcommenthelper

Generate comments when scoring the homework with an XML file containing the rules and prepared comments
https://github.com/byjrk/wpfcommenthelper

csharp wpf xml

Last synced: 9 months ago
JSON representation

Generate comments when scoring the homework with an XML file containing the rules and prepared comments

Awesome Lists containing this project

README

          

# 作业批改助手

这款 WPF 小软件或许会对大学助教群体有所帮助吧……

![](example.png)

如果想要使用该软件,需要手动设置作业批语相关的 `.xml` 文件。上图所使用的模板如下:

```xml





















```

# XML 元件介绍

## 容器

容器包含三种,分别为`Task`,`Subtask`和`Group`。

这三种容器其下都可以包含任意多的任何元件。

### Task

```xml

```

`Task`通常指**大题**。在输出批语时,`Task`的标题前会有额外的空行,用来和其他`Task`隔开。

因为`Task`的分数一般由其下的小题分数加和得到,所以通常这里分数设置为`0`,或者不用设置,默认为`0`。

### Subtask

```xml

```

`Subtask`通常指**小题**。在输出批语时,`Subtask`的标题前不会有额外的空行。从格式上看,它属于某个`Task`。

本软件最推荐的方法是扣分制,因此推荐`Subtask`包含分数,其下的元件的分数为负数(其下元件的和的绝对值最好与`Subtask`的分数相同,但并不强制要求)。

### Group

```xml

```

`Group`一般用于评分项的分组。在输出批语时,`Group`的标题前不会有额外的空行,其后也会像普通打分项那样,用分号与下文分隔。

`Group`一般这样使用:

```xml



```

这样在生成批语时,不会生成过于详尽或复杂针对单个小题的评语。

## 打分项

打分项分三种,分别为`CheckBox`,`RadioButton`和`MarkBox`。打分项没有`desc`,但是有`ischecked`属性。

### CheckBox

```xml

```

`CheckBox`为一个复选项。只有在勾选时才会将对应的标题显示在批语中。

`ischecked`默认为`False`。如果为`True`,则默认被勾选。

### RadioButton

`RadioButton`为单选项(很少会使用这个元件),只有在被选中时才会显示在批语中。

因为单选项需要出现在同一个容器中,才能出发单选效果,因此如果要使用`RadioButton`,最好将其单独放在一个`Subtask`或`Group`中。例如:

```xml





```

只有需要这种递进的批语时才建议使用`RadioButton`,否则一般请使用下面要讲到的`MarkBox`。

### MarkBox

```xml

```

`MarkBox`为一个打分项,由开头的复选框决定其对应批语是否在输出中呈现。

`score`表示默认分数。如果不写,则默认为`range`的最大值。