c# - 添加到标签内容而不是覆盖 WPF C#
问题描述
我做了一个小的 WPF 程序。但这是我的第一次,我画了一个空白。我已经弄清楚如何数据绑定并将复选框中的内容添加到标签。
我的问题是,当我按前“小咖啡”,然后按“加糖”时,我希望它添加到字符串中,而不是写在那里。我想我需要使用 Append。但这是我的第一次,我不知道如何用代码写下来。谢谢你。
XAML
<RadioButton Content="Small" HorizontalAlignment="center" VerticalAlignment="Top" Margin="300,55,0,0" Click="SmlClicked"></RadioButton>
<RadioButton Content="Medium" HorizontalAlignment="center" VerticalAlignment="Top" Margin="450,55,0,0" Click="MdClicked"></RadioButton>
<CheckBox Name="SugarCheck" Content="Sugar" HorizontalAlignment="center" VerticalAlignment="Center" Margin="250,0,0,0" Checked="SugarChecked"></CheckBox>
<CheckBox Name="CreamCheck" Content="Cream" HorizontalAlignment="center" VerticalAlignment="Center" Margin="500,0,0,0" Checked="CreamChecked"></CheckBox>
<Label Name="order" Content="Your Coffee" HorizontalAlignment="center" VerticalAlignment="Center" Margin="170,145,0,0"></Label>
C#
private void SugarChecked(object sender, RoutedEventArgs e)
{
order.Text+= "with sugar";
}
private void CreamChecked(object sender, RoutedEventArgs e)
{
order.Content = "with cream";
}
private void SmlClicked(object sender, RoutedEventArgs e)
{
order.Content = "Small";
}
private void MdClicked(object sender, RoutedEventArgs e)
{
order.Content = "Medium";
}
private void LrgClicked(object sender, RoutedEventArgs e)
{
order.Content = "Large";
}
解决方案
您应该像这样使用 += 运算符:
private void SugarChecked(object sender, RoutedEventArgs e)
{
order.Content += "with sugar";
}
private void CreamChecked(object sender, RoutedEventArgs e)
{
order.Content += "with cream";
}
private void SmlClicked(object sender, RoutedEventArgs e)
{
order.Content += "Small";
}
private void MdClicked(object sender, RoutedEventArgs e)
{
order.Content += "Medium";
}
private void LrgClicked(object sender, RoutedEventArgs e)
{
order.Content += "Large";
}
虽然你的字符串格式会很糟糕......
最好的办法是利用这个机会来了解转换器,有一个 Coffee 类,它会根据您对按钮的操作而变化,并使用自定义转换器将其绑定到您的标签 :)
检查此链接以了解自定义转换器:https ://www.wpf-tutorial.com/data-binding/value-conversion-with-ivalueconverter/
推荐阅读
- c++ - 来自 TMB 的“错误范围分量”错误消息(未计算最大梯度分量)
- java - AWS Java SDK - 在不知道长度的情况下上传流
- android - 在 Intellij Idea 中更改目标 Android 设备
- java - 在并行测试中运行类
- java - 调试 Java 进程在 1 小时内被杀死
- ios - 在图像上使用未解析的标识符
- video - FFMPEG:无法在过滤器支持的格式之间进行转换
- frama-c - EACSL Frama-C 插件中的无限函数
- java - Java RSA 密钥到 C# XML 密钥:将 Java 中的 RSA PublicKey 和 PrivateKey 更改为 C# XML RSAKeyValue XML 字符串?
- curl - 使用 jira rest api - 如何获取特定问题的描述?