2012-07-21 3 views
1

C#/WPF에서 C#/MetroUI Development로 전환하여 XAML에 많은 차이가 있다는 것을 깨달았습니다. 예를 들어 MetroUI에서는 TextBlock에 배경 속성이 없거나 너무 멍청해서 사용할 수 없습니다. 그런 속성이 없으면 어떻게 TextBlock에 대한 그런 스타일을 실현할 수 있습니까?Metro UI XAML TextBlock Background

파란색 배경에 흰색 텍스트를 넣고 싶지만 배경은 단락을 따라야합니다. 이 시나리오를 실현하기 위해 TextBlocks 용 ItemTemplate 또는 이와 유사한 컨트롤이 있습니까?

enter image description here

답변

0

나는 당신이 국경의 내부 TextBlocks 퍼팅 또는 TextBlocks 뒤에 채워진 사각형을 넣어 함께 조금 플레이해야 할 것입니다 생각 -의 스택에 줄 바꿈을 넣어 위치를 알아내는 작업을 마치면 TextBlocks. Silverlight와 같은 WinRT XAML에는 이러한 고급 서식을 자동으로 처리하는 데 도움이되는 상당히 제한된 API가 있습니다.

1

실제로 텍스트 블록이어야합니까? Windows.UI.Xaml에 대한 설명서를 검색했으며 Background 속성이 Control 클래스에서 상속 된 객체에만 사용할 수있는 것처럼 보입니다. TextBlock은 FrameworkElement에서 상속됩니다.

만약 내가 TextBox 스타일을 수정하고 이미 WPF 환경을 가지고 있기 때문에 텍스트 블록처럼 보이게 만들 수 있습니다.이 스타일을 비교적 쉽게 구현하고 해당 동작을 쉽게 수행 할 수 있다고 가정합니다.

자세한 정보는 실제 문서에서 찾을 수 있습니다 TextBlock ClassTextBox Class

은 배경 속성이 WinRT 지금 어디보고 된 이후 거기에서 비교했다. 희망이 도움이!

+0

나는 그것을 테스트해야합니다. 한 가지 문제는 TextBlock을 파란색 직사각형에 넣는 것과 같은 결과를 가져올 백그라운드 속성을 사용하면 여전히 큰 블록이 될 것입니다. 테스트해야 할 또 하나의 문제는 TextBlock과 비교할 때 성능이 떨어지는 것입니다. –

+0

그 중 하나는 텍스트 블록 위에 adorner를 만들고 불투명도를 무언가로 설정하는 것입니다. 바로 바보입니다. 권자 –