2012-01-27 57 views
0

在我的項目中,我自定義了Slider控件。請幫幫我。如何在自定義控件中的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

目前尚不清楚你試圖達到的目標。 – 2012-01-27 23:59:48

+0

請幫幫我! – thongaduka 2012-01-28 02:02:53

+0

幫助什麼? – 2012-01-28 05:58:36

回答

0

如果您通過綁定來設置ContentSlider屬性,那麼TemplateBinding將不起作用。

但TemplateBinding是

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

感謝woni!但它不起作用! – thongaduka 2012-01-29 01:03:43

0

的縮寫。如果我猜的權利,那麼你正試圖創建一個滑塊控制的控制模板,並希望有一個TextBlock表示滑塊的價值。在Thumb內部,滑塊Value無法訪問,因此您需要使用像我在這個小代碼示例中那樣的東西。我使用TemplateBinding將Value屬性添加到了Thumbs DataContext,然後在我的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 2012-01-29 01:03:03

+0

@thongaduka更新了我的答案,這應該工作我測試它。 – BigL 2012-01-29 08:55:14

相關問題