0

我有以下 AppBar。

<Page.BottomAppBar>
    <AppBar x:Name="bottomAppBar" Padding="10,0,10,0">
        <Grid>
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
                <Button x:Name="switchMeasurementMode" AutomationProperties.Name = "Breath rate" Style="{StaticResource AppBarButtonStyle}" Click="switchMeasurementMode_Click" />
            </StackPanel>
        </Grid>
    </AppBar>
</Page.BottomAppBar>

看起来像这样

在此处输入图像描述

我倾向于在运行时使用以下 C# 代码更改其文本

    private void switchMeasurementMode_Click(object sender, RoutedEventArgs e)
    {
        this.switchMeasurementMode.Name = "111";
    }

但是按钮文本没有改变。有什么我错过的吗?

4

2 回答 2

3

如果您在 Windows 8 C# 项目中使用 AppBar 的默认样式,则必须在 XAML 中使用以下命令更改附加属性AutomationProperties.Name :

AutomationProperties.Name = "新名称"

或在代码中使用:

Button.SetValue(AutomationProperties.NameProperty, "新值");

AutomationProperties.SetName(Button, "new value");

于 2012-11-05T12:13:35.307 回答
0

该按钮是一个内容控件。您设置 Content 属性以更改内容。

 this.switchMeasurementMode.Content= "111";

Name 属性是您为 Button 设置程序化“句柄”的方式。您使用代码编辑器中的名称来修改控件。在您的情况下,您正在更改名称,这意味着您失去了说 this.switchMeasurementMode... 的能力

仅供参考,内容可以不仅仅是文本。大多数 XAML 元素都可以作为内容添加。

于 2012-11-05T07:56:55.220 回答