C# 如何在WPF中更改小数UPDOWN中的值时不启用按钮

C# 如何在WPF中更改小数UPDOWN中的值时不启用按钮,c#,wpf,xaml,data-binding,C#,Wpf,Xaml,Data Binding,我有两个小数点 一个是最大值,一个是最小值 如果最小值大于最大值,则不应启用该按钮 XAML <tool:DecimalUpDown Name="min" Value="0.00" /> <tool:DecimalUpDown Name="Max" Value="0.00" /> <Button x:Name="Aplly" IsEnabled="{

我有两个小数点

一个是最大值,一个是最小值

如果最小值大于最大值,则不应启用该按钮

XAML

<tool:DecimalUpDown  Name="min"  Value="0.00" />
<tool:DecimalUpDown  Name="Max"  Value="0.00" />
<Button x:Name="Aplly" IsEnabled="{Binding MaxSmallerMin, UpdateSourceTrigger=PropertyChanged}" Content="Aplly" >

C#

public主窗口()
{
初始化组件();
DataContext=this;
}
公共布尔MaxSmallerMin
{
得到{
如果(最小文本!=“”&最大文本!=“”)

如果(Convert.ToDouble(min.Text)您必须告诉GUI您的
MaxSmallerMin
属性已更改。您可以使用
INotifyPropertyChanged
界面执行此操作。当
min.Text
max.Text
更改时,您必须调用相应的事件。您的代码可能如下:

C#:

class主窗口:INotifyPropertyChanged
{
公共事件属性更改事件处理程序属性更改;
公共主窗口()
{
初始化组件();
DataContext=this;
}
公共布尔MaxSmallerMin
{
得到{
如果(最小文本!=“”&最大文本!=“”)

如果(Convert.ToDouble(min.Text)它不知道PropertyChangedEventary,那是一个输入错误。我已经修复了它。另请参见
 public MainWindow()
 {
  InitializeComponent();
  DataContext = this;
  }
 public bool MaxSmallerMin
        {
            get {
                if (min.Text != "" && max.Text != "")
                    if (Convert.ToDouble(min.Text) <= Convert.ToDouble(max.Text))
                        return true;
                return false;
            }            
        }
class MainWindow : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;

public MainWindow()
 {
  InitializeComponent();
  DataContext = this;
  }

 public bool MaxSmallerMin
        {
            get {
                if (min.Text != "" && max.Text != "")
                    if (Convert.ToDouble(min.Text) <= Convert.ToDouble(max.Text))
                        return true;
                return false;
            }            
        }

private void textChangedEventHandler(object sender, TextChangedEventArgs args)
   {
   PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(MaxSmallerMin)));
   }
}
<tool:DecimalUpDown  Name="min" TextChanged="textChangedEventHandler" Value="0.00" />
<tool:DecimalUpDown  Name="Max" TextChanged="textChangedEventHandler" Value="0.00" />