按钮内容动态绑定到图像按钮的TextBlock?
问题描述:
我有一个图像按钮,如下一个风格,我怎么能让TextBlock的,其中等于“POSITION”,下同作为按钮的内容的文本?Thanks.`按钮内容动态绑定到图像按钮的TextBlock?
<Style x:Key="TopButtonStyle" TargetType="Button">
<Setter Property="Padding" Value="0"/>
<Setter Property="Button.BorderBrush" Value="SteelBlue" />
<Setter Property="Button.BorderThickness" Value="0" />
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Grid Background="SteelBlue">
<Image Source="images/blue_button_up.png" HorizontalAlignment="Center" Margin="0,0,0,0" Height="Auto" Width="Auto" Stretch="UniformToFill"/>
<TextBlock Text="POSITION" HorizontalAlignment="Center" Foreground="White" Margin="5,5,0,0"/>
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>`
答
{Binding}
因为ContentTemplate
的DataContext
是Content
。
你的意思是像”?似乎并不喜欢工作的方式......我做了变通它通过创建一个图像按钮的ControlTemplate,但是... –
NewDTinStackoverflow
2012-07-11 23:39:04
不,只是'Text =“{Binding}”',绑定到作为内容的'DataContext'。在一个'ControlTempl它是'Text =“{TemplateBinding Content}”(这是一个坏主意,因为'Content'不限于文本,应该使用'ContentPresenter') – 2012-07-11 23:42:55
是的,太棒了!谢谢.... – NewDTinStackoverflow 2012-07-11 23:49:47