WPF - 尝试附加文本块文本引发 "Object Reference not set to an instance of an object" 错误

WPF - Trying to Append Textblock Texts throws "Object Reference not set to an instance of an object" error

所以,我刚开始使用 WPF。我正在尝试创建一个程序来加快制作卡片的过程。我目前正在努力尝试将两个文本块的文本附加到一个 richtextblock 中(以便创建带有效果和风味文本的卡片描述)。 WPF 表示第二个文本块是 "undefined"。 这是我的代码。

 private void EffectInput_TextChanged(object sender, TextChangedEventArgs e)
        {
            Paragraph effectText = new Paragraph();
            Paragraph flavorText = new Paragraph();

            effectText.Inlines.Add(EffectInput.Text);
            flavorText.Inlines.Add(FlavorInput.Text); //This is the line throwing the error

            Description.Document.Blocks.Clear();

            Description.Document.Blocks.Add(effectText);
           Description.Document.Blocks.Add(flavorText);
        }

我是新手,我该怎么办?

您在 EffectInput_TextChanged 函数中。您必须通过其他方式从 FlavorInput 访问文本。您可以将它存储在另一个变量中,并在文本更改时更新该变量。我不记得如何清除 Paragraph 对象,因此您必须尝试该部分。

Paragraph flavorText = new Paragraph();
Paragraph effectText = new Paragraph();

private void FlavorInput_TextChanged(object sender, TextChangedEventArgs e){
   flavorText.Inlines.Clear();
   flavorText.Inlines.Add(FlavorInput.Text);
   updateBlocks();
}

private void EffectInput_TextChanged(object sender, TextChangedEventArgs e)
{
   effectText.Inlines.Clear();
   effectText.Inlines.Add(EffectInput.Text);
   updateBlocks();
}

private void updateBlocks(){
   Description.Document.Blocks.Clear();
   Description.Document.Blocks.Add(effectText);           
   Description.Document.Blocks.Add(flavorText);     
}