문제

이 될 수 있습 a no-brainer for WPF 감정가는,그러나 알고 싶은 경우가 있는 간단한 방법을 넣어 텍스트에 WPF 형.나는 빈 진행,커피숍/카페 등이 있습니다.의 화면 부동산을 수행할 수 있는 메시지에 대 what 에서 진행,또는 단지 숫자를 추가하는 표현입니다.지금 WPF 에 대한 모든 컨테이너 확장 내가 천천히 감싸는 내 마음을 주는지만,이후 보이지 않"텍스트"또는"콘텐츠"를 제공,내 생각을 내가 무언가를 추가하는 컨테이너 진행됩니다.이 있는 기술 또는 두 개의 밖에는 더 많은 자연보다는 내가 원래 WinForms 자극이 될 것인가?무엇 최고의 가장 WPF-자연적인 방법으로 텍스트를 추가로 진행되는 바?

도움이 되었습니까?

해결책

는 경우가 필요하고 재사용할 수 있는 방법에 대한 추가 텍스트를 만들 수 있습니다,새로운 스타일의/테마 리소는 추가 TextBlock 를 표시할 텍스트입니다.할 수 있습 납치 TextSearch.텍스트는 연결된 속성을 설정 텍스트를 진행됩니다.

지 않는 경우에 필요하여 재사용할 수 있는,단순히 넣어 주는 동시에 즐거움을 가져다 줄 것 그리드 추가 TextBlock 니다.이후 WPF 작성할 수 있습니다 함께 요소를 이 멋지게 작동합니다.

당신이 원하는 경우,정렬할 수 있습을 노출하는 형과 TextBlock 으로 대중성,그래서 그것은 작품을 만드는 사용자 지정 테마 리소.

다른 팁

모두기 전에 응답이(만드는 새 CustomControlAdorner 의)더 나은 사례,하지만 당신이 원하는 빠르고 더러운(또는 시각적으로 이해하는 그것을 어떻게)이 코드는 일:

<Grid Width="300" Height="50">  
   <ProgressBar Value="50" />
   <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">
      My Text
   </TextBlock>
</Grid>

하는 것을 명심하십시오 z-index 는 마지막 항목을 나열한 것입니다.

또한,이 없는 경우 Kaxaml 아직,그것을 선택해야-그것은 중대한 노 XAML 하려고 할 때 그는 것입니다.

이 될 수 있습니다 아주 간단한 (이 없는 한 많은 방법이 작동하).

당신이 사용할 수 Style 이를 수행하거나 당신은 단지 오버레이 TextBlockProgressBar.

나 개인적으로 사용하는 이의 백분율을 보여주 진행할 때를 기다리고 완성입니다.

그것을 유지하는 매우 간단한 나만하고 싶어 Binding 만, 그래서 첨부 TextBock.TextProgressBar.Value.

                                           다만 코드를 복사하신 것입니다.

<Grid>
   <ProgressBar Minimum="0" 
                Maximum="100" 
                Value="{Binding InsertBindingHere}" 
                Name="pbStatus" />
   <TextBlock Text="{Binding ElementName=pbStatus, Path=Value, StringFormat={}{0:0}%}" 
           HorizontalAlignment="Center" 
           VerticalAlignment="Center" />
</Grid>

                                                여기에는 방법이 일반적인 형태는 다음과 같습니다.

                                    enter image description here

체크아웃 WPF 튜토리얼 전체 게시합니다.

당신이 사용할 수 있는 표시기를 표시하는 텍스트의 맨 위에습니다.

MSDN 문서에 표시기

당신은 클래스를 만들로부터 상속되는 표시기 클래스입니다.재정의 OnRender 방법을 그리는 원하는 텍스트.당신이 원하는 경우를 만들 수 있는 종속성 제공을 위해 사용자 지정 표시기에 포함된 원하는 텍스트가 표시됩니다.를 사용하여 다음 예에서 링크가 언급했을 추가 이 표시기를 진행 표시줄의 표시기층이다.

오른쪽 클릭 ProgressBar, 고 편집을 클릭 템플릿>편집은 복사본입니다.

다음 TextBlock 아래와 같이 단 위의 닫기 태그 Grid 에서 스타일에 의해 생성 VS.

   <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2"/>
   <TextBlock Background="Transparent" Text="work in progress" Foreground="Black" TextAlignment="Center"/>
 </Grid>
 <ControlTemplate.Triggers>

새로 텍스트와 바인딩에서 2 성( 값/최대값 ):

<Grid>
    <ProgressBar Name="pbUsrLvl"
                 Minimum="1" 
                 Maximum="99" 
                 Value="59" 
                 Margin="5"  
                 Height="24"  Foreground="#FF62FF7F"/>
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">
        <TextBlock.Text>
            <MultiBinding StringFormat="{}UserLvl:{0}/{1}">
                <Binding Path="Value" ElementName="pbUsrLvl" />
                <Binding Path="Maximum" ElementName="pbUsrLvl" />
            </MultiBinding>
        </TextBlock.Text>
    </TextBlock>
</Grid>

Rezult:

enter image description here


동나 와%의 진행 :

<Grid>
    <ProgressBar Name="pbLifePassed"
                 Minimum="0" 
                 Value="59" 
                 Maximum="100"
                 Margin="5" Height="24" Foreground="#FF62FF7F"/>
    <TextBlock Text="{Binding ElementName=pbLifePassed, Path=Value, StringFormat={}{0:0}%}" 
           HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>

enter image description here

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top