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#代码中工作过这个问题,如果有人能告诉我在哪里可以做更多关于这个主题的阅读,以便我可以做更高级的事情,并能够使用其他控件,我将不胜感激。
您可以通过将
标签定位到文本框中来执行此操作:
<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
}
}