2013-10-03 4 views
-1

나는 wpf에 새 브랜드입니다. 슬라이더가 여러 개인 창을 가지고 있으며, 항상 표시되도록하려는 경우를 제외하고 엄지 손가락 옆에있는 슬라이더 값을 AutoToolTipPlacement의 작동 방식으로 표시하려고합니다.슬라이더 AutoToolTip 항상 위에

나는 이것에 대한 몇 가지 다른 접근 방식을 시도했지만 아무도 제대로 작동하지 않습니다.

솔루션

<Track.Thumb> 
<Thumb x:Name="Thumb" Focusable="False" Height="18" OverridesDefaultStyle="True" VerticalAlignment="Center" Width="11"> 
    <Thumb.Template> 
     <ControlTemplate TargetType="{x:Type Thumb}"> 
      <Grid HorizontalAlignment="Center" UseLayoutRounding="True" VerticalAlignment="Center"> 
       <Path x:Name="grip" Data="M0,0C0,0 11,0 11,0 11,0 11,18 11,18 11,18 0,18 0,18 0,18 0,0 0,0z" Fill="#FFF0F0F0" Stretch="Fill" SnapsToDevicePixels="True" Stroke="#FFACACAC" StrokeThickness="1" UseLayoutRounding="True" VerticalAlignment="Center"/> 
       <TextBox HorizontalAlignment="Left" Height="18" Margin="-12,-23,-13,0" TextWrapping="Wrap" Text="{Binding Value, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Slider}}}" VerticalAlignment="Top" Width="36" TextAlignment="Center" Background="{x:Null}" BorderBrush="{x:Null}" /> 
      </Grid> 
      <ControlTemplate.Triggers> 
       <Trigger Property="IsMouseOver" Value="True"> 
        <Setter Property="Fill" TargetName="grip" Value="#FFDCECFC"/> 
        <Setter Property="Stroke" TargetName="grip" Value="#FF7EB4EA"/> 
       </Trigger> 
       <Trigger Property="IsDragging" Value="True"> 
        <Setter Property="Fill" TargetName="grip" Value="#FFDAECFC"/> 
        <Setter Property="Stroke" TargetName="grip" Value="#FF569DE5"/> 
       </Trigger> 
       <Trigger Property="IsEnabled" Value="False"> 
        <Setter Property="Fill" TargetName="grip" Value="#FFF0F0F0"/> 
        <Setter Property="Stroke" TargetName="grip" Value="#FFD9D9D9"/> 
       </Trigger> 
      </ControlTemplate.Triggers> 
     </ControlTemplate> 
    </Thumb.Template> 
</Thumb> 

답변

0

당신은 그것을 위해 자신의 템플릿을 만들 수 있습니다. 다음은 WPF의 슬라이더 템플릿에 대한보다 일반적인 기사입니다 : http://msdn.microsoft.com/en-us/library/ms753256.aspx. 또한 여기에서 좀 더 구체적인 예를 찾을 수 있습니다 : http://www.codeproject.com/Articles/18270/A-Guided-Tour-of-WPF-Part-3-Data-binding.

+0

내 질문에 답변 해 주셔서 감사합니다. 내 문제는 올바른 위치에 텍스트 상자를 추가하지 않았거나 올바른 바인딩을 사용하고 있지 않다는 것이 었습니다. – Daniel

관련 문제