c# - 折叠类中的所有按钮

标签 c# .net wpf

我是 C# 的新手,需要一点帮助。我试过谷歌搜索,但无济于事,所以我在这里问。我有带命令按钮的 WPF 表单。我使用:

cmd_Button.Visibility = Visibility.Collapsed;
cmd_Button.Visibility = visibility.Visible;

根据需要隐藏和显示按钮。问题是我有很多按钮,我必须在表单初始化时折叠所有按钮(三个除外),并且我必须折叠所有按钮,除了我想在所有 Click 事件中显示的按钮。

我的问题是;有没有什么方法可以在类(class)开始时折叠类(class)中的所有按钮,然后显示我想显示的可见性。可见?

这是我使用的代码示例:

XAML

<Button x:Name="cmd_Button1" Content="Button1" HorizontalAlignment="Left" Margin="15,96,0,0" VerticalAlignment="Top" Width="75" Click="cmd_Button1_Click"/>

然后是c#

public MainWindow()
    {
        InitializeComponent();

        //collapse buttons

        cmd_Button1.Visibility = Visibility.Collapsed;
        cmd_Button2.Visibility = Visibility.Collapsed;
        cmd_Button3.Visibility = Visibility.Collapsed;
}

private void cmd_ShowButton2_Click(object sender, RoutedEventArgs e)
{
    cmd_Button1.Visibility = Visibility.Collapsed;
    cmd_Button3.Visibility = Visibility.Collapsed;

    cmd_Button2.Visibility = Visibility.Visible;
}

最佳答案

您可以在您的页面资源中创建一个默认按钮可见性为折叠的样式:

 <UserControl.Resources>
     <Style TargetType="Button">
         <Setter Property="Visibility" Value="Collapsed" />                  
     </Style>
 </UserControl.Resources>

尽管如此,我还是建议您阅读有关 MVVM 的内容。使用 MVVM 绑定(bind)而不是在代码隐藏中操作 ui 元素,WPF 更清晰、更易于使用。

关于c# - 折叠类中的所有按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34307931/

相关文章:

c# - 我应该在退出主窗体之前中止并加入线程吗?

c# - 使用 uiVisualizerservice.Show 获取 DialogResult

c# - 如何调用wcf服务方法?

C# - 值类型的引用包装器

.net - 从结构句柄的 System::String^ 成员编码到 std::string

c# - 简单的多线程 - 将语句合并为两行

c# - Canvas 上的 MouseLeftButtonDown 需要太高的精度

c# - 以下 XAML 是否可能泄漏内存?

c# - vNext : Referencing non-vNext projects

c# - 如何隐藏没有可见项目的上下文菜单?