none
텍스트와 이미지를 동시에 보여주기 RRS feed

  • 질문

  • 채팅 프로그램 비슷한 것을 만들어보고 있습니다.

    이때 사용자가 특정 텍스트를 입력할 경우 그 부분의 글자가 이미지로 보여지는 효과를 주고 싶습니다.
    (이모티콘 처럼요)

    RichTextBlock의 Paragraph 속성을 사용하면 되는 것 같긴하지만 동적으로 할당하는 방법을 모르겠고, 방법이 있다고 하더라도 코드가 생각보다 많이 지저분해질 것 같아 다른 방법을 찾고 있는데 찾기가 힘드네요..

    답변 부탁드립니다 ^^

    • 이동됨 Jina Lee 2012년 10월 23일 화요일 오전 5:45 (이전 위치:Windows 스토어 앱)
    2012년 7월 31일 화요일 오전 8:59

답변

  • RichTextBlock에서 ragraph 속성을 사용하는 방법은 다음과 같이 하시면 됩니다.

    Run run = new Run();
    run.Text = "텍스트와 그림 삽입하기";
    
    var uri = new Uri(@"http://www.cool-smileys.com/blog/wp-content/uploads/2009/11/cool-text-emoticons-297x300.jpg");
    BitmapImage bmp = new BitmapImage();
    bmp.UriSource = uri;
    
    Image myImage = new Image();
    myImage.Source = bmp;
    myImage.Height = 50;
    myImage.Width = 50;
    
    InlineUIContainer ui = new InlineUIContainer();
    ui.Child = myImage;
    
    Paragraph parag = new Paragraph();
    rtb.Blocks.Add(parag); // rtb는 GUI상의 RichTextBlock입니다.
    
    parag.Inlines.Add(run);
    parag.Inlines.Add(ui);

    대충 웹에 있는 스마일 이미지 가져다 썼습니다.

    암튼 잘 정리하면 생각보단 지저분해보이진 않습니다만, 선택은 노아진님 선택일 것 같네요.

    • 답변으로 표시됨 노아진 2012년 8월 7일 화요일 오전 8:47
    2012년 8월 6일 월요일 오전 9:44