小编cmi*_*ich的帖子

在 OpenXml 复选框 word2013 中设置值

所以我有一个正在通过 WPF(C#) 应用程序编辑的文档。我已成功编辑纯文本内容控件,但现在我无法选中/取消选中表单中的复选框。

我成功找到了复选框并设置了值并保存了文档,但是当我打开它时,从未在 word 文档中选中设置为 true 的复选框。

这是我用来操作复选框的代码。注意:我在标签级别访问复选框,因此 field.parent.parent

private static void SetCheckBox(OpenXmlElement field, bool isChecked)
{
    var checkBox = field.Parent.Parent.Descendants<SdtContentCheckBox>().ToList();
    foreach (var check in checkBox)
    {
        if (isChecked)
        {
            check.Checked.Val = OnOffValues.True;
        }
        else
        {
            check.Checked.Val = OnOffValues.False;
        }
        MessageBox.Show(check.Checked.Val);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在 MessageBox 中显示值时,它们显示 0/1 表示真/假。所以它们实际上是被设置的。

我这样做正确吗?

c# wpf checkbox openxml

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

标签 统计

c# ×1

checkbox ×1

openxml ×1

wpf ×1