我有XAML
中的代码:
<Button Grid.Column="0" Grid.Row="1" x:Name="btnSete" Click="btn_Click">
<ContentControl.Content>
<Viewbox Margin="3">
<TextBlock Text="7"/>
</Viewbox>
</ContentControl.Content>
</Button>
代码背后:
private void btn_Click(object sender, RoutedEventArgs e)
{
Button btn = (Button)e.Source;
txbDisplay.Text = btn.Content.ToString();
}
如何在<TextBlock Text="7"/>
中获取btn_Click
的值?
答案 0 :(得分:4)
根据您的XAML,btn.Content
应该是Viewbox
的实例。然后,Child
的{{1}}属性应该是您的Viewbox
。
所以你应该能够做到这一点(在按钮点击事件处理程序中):
TextBlock
另外,作为一个有用的说明,XAML的var viewBox = (Viewbox)btn.Content;
var textBlock = (TextBlock)viewBox.Child;
var text = textBlock.Text; // This is the value you were looking for
txbDisplay.Text = text;
部分是多余的。该块可以写成:
<ContentControl.Content> ... </ContentControl.Content>
请参阅&#34; XAML内容属性&#34; this page部分,了解更多信息,如果您不确定的话。