2010-03-19 4 views
0

이 컨트롤을 참조하십시오. http://www.charlespetzold.com/blog/2009/10/Using-Text-Outlines-in-Silverlight.html 서식이 지정된 텍스트 컨트롤은 적절한 모양으로 텍스트 모양을 만드는 데 도움이되는 모양입니다. 이 컨트롤을 키보드에서 입력하는 것과 같은 커서 및 기능이있는 텍스트 상자처럼 작동시키고 싶습니다. 바로 지금 나는 formattedtext 컨트롤이있는 보이지 않는 텍스트 상자를 사용합니다. 그러나 커서 위치는 텍스트의 크기가 렌더링 된 텍스트의 크기와 모양이 같지 않을 때 항상 문제를 만듭니다.텍스트 상자처럼 작동하는 도형을 만드는 방법은 무엇입니까?

누구나이 방법을 보여줄 수 있습니까?

답변

0

음, 필자는 설명하는 방법을 사용하여 텍스트 상자를 강조 표시하는 구문을 만들었습니다. 사실, 처음에는 모든 것을 다시 만들고 싶었지만 캐럿 기능, 선택 브러시를 만들고 마우스 나 키보드로 선택, 삭제, 복사/잘라 내기/붙여 넣기 등 다양한 이벤트를 관리해야했습니다. 등등 ...

이것은 많은 작업이며, 예를 들어 윈도우 사용자는 텍스트 상자에서 텍스트를 선택하는 데 사용되므로이 복잡한 구현은 구현되지 않은 상태로 남겨 둘 수 없습니다. 우리는 텍스트 상자가 어떻게 느끼는지에 대한 Microsoft의 지침을 따라야합니다.

실제로, 나는 처음부터 새로운 텍스트 상자를 만드는 것이 갈 길이 없다고 생각합니다. 나는 현재의 방법으로 계속하기를 제안한다. 동일한 텍스트 상자에 다른 글꼴이있는 경우 RichTextBox를 사용하고 텍스트 상자와 서식있는 텍스트의 글꼴 변경 내용을 처리하십시오.

또한 구현하기에 좋은 방법은 formattedtext를 사용하여 표시되는 텍스트를 그리는 것입니다 (단, 사용자가 수백 줄의 텍스트 줄을 쓸 수 있어야합니다).

관련 문제