2010-01-12 3 views
9

UserControl의 LayoutRoot 격자에 경로를 추가하는 Silverlight 응용 프로그램이 있습니다. 경로 지오메트리는 단순한 사각형입니다.경로 내에 TextBlock을 추가하는 방법은 무엇입니까?

LayoutRoot 그리드에 추가 된 경로 내에 포함 된 TextBlock을 추가하고 싶습니다.

또한 사용자 정의 Adorner를 사용하여 화면의 경로 크기를 조정하고 이동할 수 있습니다.

기본적으로 TextBlock의 부모를 경로로 지정하여 Path를 이동할 때마다 TextBlock이 함께 이동하고 TextBlock 내의 텍스트가 Path의 경계 밖으로 나갈 수 없도록합니다. 'O'는 경로 객체와는

public ShapeClass(Action<Path, TextBlock> insert){} 

이 '유'입니다 : 여기

var shape = new ShapeClass((o, u) => { LayoutRoot.Children.Add(o); LayoutRoot.Children.Add(u); }); 

가 Shape 클래스의 생성자입니다 : 여기

내가 현재 가지고있는 예입니다 TextBlock ...

어떻게 달성 할 수 있는지에 대한 아이디어가 있습니까?

감사합니다.

답변

5

경로와 텍스트 상자를 모두 격자 또는 캔버스에 배치하고 대신 이동하십시오. 그렇게하면 두 컨트롤이 서로 상대적으로 같은 위치에 머무르게됩니다.

+0

Ok - 그 문제를 해결할 수 있습니다.하지만 경로 지오메트리는 원래 게시물에서 언급했듯이 직사각형 형태이거나 다이아몬드 형태 일 수 있습니다. 다이아몬드의 경우 경로와 텍스트 블록을 모두 추가하는 표가 있고 텍스트 블록에 텍스트 래핑을 사용하고 있다면 텍스트 블록 내의 텍스트가 경로의 경계 내에 머물러있게 할 수 있습니까? 다이아몬드? – Chris

3

경로는 내용 컨트롤이 아니므로 경로 안에 TextBox를 배치 할 수 없습니다.

간단한 사각형을 사용하는 경우 테두리 컨트롤을 사용하지 않는 이유는 무엇입니까?

관련 문제