0

所以,我刚开始使用WPF。我正在尝试创建一个程序来加快制作卡片的过程。我目前正在努力尝试将两个文本块的文本附加到一个富文本块中(为了创建一张卡片的描述及其效果和风味文本)。WPF 说第二个文本块是“未定义的”。这是我的代码。

 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);
        }

我是新手,我该怎么办?

4

1 回答 1

0

你在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);     
}
于 2017-10-13T22:54:09.483 回答