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);
}
所以,我刚开始使用 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);
}