WPF 文本框和标签文本访问 c# 中的

本文关键字:文本 中的 访问 WPF 标签 | 更新日期: 2023-09-27 18:35:27

我有这个基本的WPF,我为练习而做过,它是一种记分应用程序,我想在文本框中输入一个数字,处理它,然后在标签中输出结果,但我无法弄清楚如何在c#端访问它们。下面是 XAML:

<StackPanel HorizontalAlignment="Right" VerticalAlignment="Stretch">
    <Label Name="PlayerName" Style="{StaticResource PlayerName}"/>
    <Label Name="PlayerScore" Style="{StaticResource Score}"/>
    <ScrollViewer Height="380">
    </ScrollViewer>
</StackPanel>
<StackPanel HorizontalAlignment="Center"  VerticalAlignment="Top">
    <TextBox Name="Number" MaxLength="3" Width="160" Margin="20" FontSize="30" TextChanged="TextBox_TextChanged"></TextBox>
    <Button IsDefault="True" Style="{StaticResource Golden} " Click="Button_Click">Запиши резултат</Button>
    <Button Style="{StaticResource Golden}">Върни назад</Button>
</StackPanel>

我想在Number中输入一个数字,处理完后,我希望当前分数以PlayerScore显示

编辑:我没有在C#代码中工作过这个问题,如果有人能告诉我在哪里可以做更多关于这个主题的阅读,以便我可以做更高级的事情,并能够使用其他控件,我将不胜感激。

WPF 文本框和标签文本访问 c# 中的

您可以通过将

标签定位到文本框中来执行此操作:

<TextBox x:Name="Number" ... />
<Label x:Name="PlayerName" Target="{Binding ElementName=Number}" ... />

MSDN 页面

这样,无需在 C# 中执行任何操作即可更新标签。

要处理输入,理想情况下,您应该使用 MVVM(模型视图视图模型)和绑定之类的东西将值获取到 C# 中,但正如您刚刚学习的那样,您可以编辑隐藏的代码。在 TextBox_TextChanged 方法中,您可以通过 Text 属性访问文本:

private void TextBox_TextChanged(object sender, EventArgs e)
{
    var textBox = (TextBox)sender;
    int score;
    if (TryParse(textBox.Text, out score))
    {
        // Value entered was an integer, process it
    }
}