2012-01-27 2 views
0

내 프로젝트에서는 Slider 컨트롤을 사용자 지정합니다. 도와주세요.Customized 컨트롤에서 TemplateBinding하는 방법

       <Thumb x:Name="HorizontalThumb" Grid.Column="1" Margin="-1,-10,0,0" RenderTransformOrigin="0.5,0.5" Width="1" > 
            <!--<Thumb.RenderTransform> 
              <ScaleTransform ScaleY="1" ScaleX="30"/> 
             </Thumb.RenderTransform>--> 
            <Thumb.Template> 
             <ControlTemplate> 
              <Grid> 
               <Image Height="60" Width="110" IsHitTestVisible="True" Margin="-110,-10" Stretch="Fill" Source="/DiaDiemJSC;component/bluebutton.png" /> 
               <TextBlock FontFamily="Tahoma" x:Name="TextContent" Text="{TemplateBinding ContentSlider}" Margin="-110,-10" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
              </Grid> 
             </ControlTemplate> 
            </Thumb.Template> 
           </Thumb> 

       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

TemplateBinding을 TextBlock x : Name = "TextContent"로 설정하려고합니다. 나는 실패했다.

+0

달성하려는 목표가 명확하지 않습니다. –

+0

도와주세요! – thongaduka

+0

무엇을 도와 드릴까요? –

답변

0

바인딩을 통해 ContentSlider 속성을 설정하는 경우 TemplateBinding이 작동하지 않습니다.

하지만 난 당신이 슬라이더 제어를위한 컨트롤 템플릿을 만들려고하는 바로 그때 추측, 슬라이더의 값을 표시하는 TextBlock의를 갖고 싶어 해요 경우 TemplateBinding은

{Binding Path=ContentSlider, RelativeSource={RelativeSource TemplatedParent}} 
+0

원진 감사합니다! 하지만 작동하지 않습니다! – thongaduka

0

의 약자입니다 . 엄지 손가락 안에는 슬라이더 값이 접근 할 수 없으므로이 작은 코드 예제에서 사용한 것과 같은 것을 사용해야합니다. TemplateBinding을 사용하여 Thumbs DataContext에 Value 속성을 추가 한 다음 내 TextBlock에서 Binding을 사용하여 효과를 보았습니다.

<Thumb x:Name="HorizontalThumb" Grid.Column="1" Height="12" Margin="0,22,0,50" Width="12" DataContext="{TemplateBinding Value}"> 
            <Thumb.Template> 
             <ControlTemplate> 
              <Canvas Background="{StaticResource PhoneForegroundBrush}" Height="12" Width="12"> 
               <Rectangle Fill="Transparent" Height="84" IsHitTestVisible="True" Canvas.Left="-24" Canvas.Top="-22" Width="60"/> 
               <TextBlock Text="{Binding}"></TextBlock> 
              </Canvas> 
             </ControlTemplate> 
           </Thumb.Template> 
          </Thumb> 
+0

예! 그게 내 생각이야! 하지만 TextBlock TemplateBinding에 가치를 둘 수는 없습니다! 제발 도와주세요 – thongaduka

+0

@ thongaduka 내 대답을 업데이 트 하고이 테스트를해야 작동합니다. – BigL

관련 문제