获取活动中的按钮内容

时间:2015-04-06 14:29:41

标签: c# xaml

我有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的值?

1 个答案:

答案 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部分,了解更多信息,如果您不确定的话。