首页 > 解决方案 > 添加到标签内容而不是覆盖 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";
}

标签: c#wpflabel

解决方案


您应该像这样使用 += 运算符:

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/


推荐阅读