【发布时间】:2020-01-15 02:35:35
【问题描述】:
我需要在切换按钮附近有一个文本,显示相对的开/关。
我通过简单地使用带有切换按钮和标签的堆栈面板来实现这一点,然后在后面的代码中我只需使用 Checked/Unchecked 事件来更改标签的内容。 问题是我有很多切换按钮,并且我的方法重复了代码(对于每个切换按钮,我都有一个标签和 2 个功能)。 有没有更有效的方法?
<StackPanel Orientation="Horizontal">
<ToggleButton Name="First" Checked="First_Checked" Unchecked="First_Unchecked"/>
<Label Name="FirstLB" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<ToggleButton Name="Second" Checked="Second_Checked" Unchecked="Second_Unchecked"/>
<Label Name="SecondLB" VerticalAlignment="Center"/>
</StackPanel>
private void First_Unchecked(object sender, RoutedEventArgs e)
{
FirstLB.Content = "Off";
}
private void Second_Unchecked(object sender, RoutedEventArgs e)
{
SecondLB.Content = "Off";
}
private void First_Checked(object sender, RoutedEventArgs e)
{
FirstLB.Content = "On";
}
private void Second_Checked(object sender, RoutedEventArgs e)
{
SecondLB.Content = "On";
}
【问题讨论】:
-
你能给我一些代码吗?如何访问每个切换按钮的标签?
-
除此之外,您真的需要标签吗?为什么不设置 ToggleButton 自己的 Content?
-
是的,我确实需要标签 - 文本应该出现在按钮旁边
-
您考虑过使用复选框吗?
-
不幸的是,我需要一个切换按钮。
标签: .net wpf xaml controls toggle