【问题标题】:Enable/disable ui element usercontrol in wpf c# code behind在 wpf c# 代码中启用/禁用 ui 元素用户控件
【发布时间】:2019-03-27 11:14:40
【问题描述】:

对于一个项目,我创建了一个小键盘和一个键盘。 两者都是用户控件,它们都显示在一个窗口中。

我想在 xaml 中使用一个按钮/切换来启用一个或另一个。 在代码背后的 C# 中解决此问题的最佳方法是什么? 提前谢谢!

【问题讨论】:

  • 不要为此使用代码隐藏。使用 ViewModel 属性并将可见性绑定到它。
  • 这里是一个按钮的例子:stackoverflow.com/questions/7000819/…。您应该能够用您的控件替换按钮。
  • 你想隐藏/显示你的按钮还是只启用禁用它们?
  • @MindSwipe 在我阅读时,OP 不想切换 buttons' 可见性,而是使用按钮来切换另一个控件的可见性。
  • @Fildor 我明白这一点,但是 OP 的措辞有点令人困惑,他说他想“启用一个或另一个”他的意思是显示/隐藏按钮还是启用/禁用它们?跨度>

标签: c# wpf xaml user-controls code-behind


【解决方案1】:

在 GUI 上制作一个 Button,并将 Click 事件绑定到 Code Behind 中的 EventHandler。这个 EventHandler 基本上只是触发了控制元素的IsEnabled 属性。这是这样的东西的样子

private void BtnToggle_Click(object sender, RoutedEventArgs e)
{
    //Do this with every button
    BtnToFlip.IsEnabled = !Btn.ToFlip.IsEnabled
}

此触发器在 IsEnabledtruefalse 之间切换

注意:这绝不是最好的方式,我知道这甚至不是远程 MVVM。这只是对 OP 问题的简单回答,因为他似乎很新。

【讨论】:

  • 正是因为 OP 是 WPF 的新手,我发现展示“正确的方法”很重要:命令、ViewModel、绑定。
猜你喜欢
  • 2021-11-26
  • 1970-01-01
  • 2017-08-05
  • 2014-05-13
  • 2021-01-09
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2014-08-29
相关资源
最近更新 更多