2017-10-13 42 views
0

그래서 방금 WPF를 사용하기 시작했습니다. 나는 카드를 만드는 과정을 가속화하기위한 프로그램을 만들고자합니다. 나는 현재 두 개의 텍스트 블록의 텍스트를 richtextblock에 추가하려고 애 쓰고있다 (효과 및 풍미 텍스트가있는 카드의 설명을 작성하기 위해). 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); 
     } 

나는 무엇을해야 하나?

답변

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

이렇게했습니다. 고맙습니다! –