2011-04-06 3 views
0

두 개가 나란히 있습니다 (버튼을 오른쪽과 왼쪽으로 정렬 할 수 있도록 두 개가 있어야합니다). 하지만 이제는 가능한 한 텍스트를 추가해야합니다. 두 도구 모음 사이에서 오른쪽 또는 왼쪽 가운데 정렬 할 수 있습니다. 나는 TextBlock 안에 StackPanel 안에있는 Grid에 두 번째 위치 (툴바 사이)에 배치 된 텍스트를 추가했으며, 물론 두 툴바 사이에 간격을 만들었습니다 (stackPanel은 툴바와 같은 스타일을 가지고 있지 않습니다. 코스).stackPanel에 툴바와 동일한 LinearGradientBrush를 지정하면 기본적으로

툴바 LinearGradientBrush을 내 스택 패널에 복제하고 싶습니다. 내 도구 모음과 똑같이 보입니다. 요점은 하나의 툴바처럼 보이게 만드는 것입니다.

ToolBarStyle을 얻거나 LinearGradientBrush 정의로 다시 만들 수있는 방법이 있습니까? 그렇다면 어떻게해야합니까?

답변

2

당신이 할 수있는 한 가지 방법이 있습니다. 툴바 이름 중 하나가 "toolBar"라고 가정 해보십시오. 등의 ToolBarBackground 속성에 StackPanelBackground 속성을 바인딩 : 도움이

<StackPanel Background="{Binding Path=Background, ElementName=toolBar}" /> 

희망을! :)

편집 :

당신은 ToolBarhere에 대한 컨트롤 템플릿을 확인할 수 있습니다. 같은

LinearGradientBrush 사용 외모 : 이벤트에서

<LinearGradientBrush x:Key="DarkBrush" StartPoint="0,0" EndPoint="0,1"> 
    <GradientBrush.GradientStops> 
    <GradientStopCollection> 
     <GradientStop Color="#FFF" Offset="0.0"/> 
     <GradientStop Color="#AAA" Offset="1.0"/> 
    </GradientStopCollection> 
    </GradientBrush.GradientStops> 
</LinearGradientBrush> 

당신은 바인딩 대신이를 사용하고 싶었다. :)

+0

이제 저는 부끄러워졌습니다. 바인딩은 가장 간단한 방법이었고 더 효율적이었습니다. 툴바의 스타일이 변경 될 때마다 작동합니다. 이것에 대해 감사드립니다. – Fjodr

+0

당신을 환영합니다!^__ ^ –

0

기본 템플릿 및 스타일은 on MSDN입니다. 아마 거기에서 관련 비트를 추출 할 수 있습니다.

+0

이전에이 사이트를 방문한 적이 있지만 아직도 내가 원하는 것은 아니지만 적어도 여기에 endPoint 및 StartPoint가 있다고 믿습니다. 도와 주셔서 감사합니다. – Fjodr

0

응용 프로그램에서 똑같은 일을 할 때 문제가 발견되었습니다. XP 시스템에서 동일한 응용 프로그램을 실행할 때 Vista 컴퓨터를 사용할 때 두 도구 모음 사이의 높이에 2 픽셀 차이가 있음을 발견했습니다.

이 문제를 해결하기 위해 두 개의 도구 모음 개체 (투명하게 배경 설정)가있는 StackPanel을 하나 만들었습니다.

이렇게하면 두 OS간에 모양과 느낌이 동일 해졌으며 (둘 다 회사를 실행하고있을 때) 모양이 바뀌었을 때 도구 모음 중 하나의 높이가 커지면 도움이됩니다.