我制作了一个小的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";
}
尽管您的字符串格式会很糟糕...
最好是利用这次机会来学习Converters,让Coffee类根据您对按钮的操作而变化,并使用自定义转换器将其绑定到标签上:)检查此链接以了解有关定制转换器的信息:https://www.wpf-tutorial.com/data-binding/value-conversion-with-ivalueconverter/