Wpf IsEnabled绑定到布尔值

Wpf IsEnabled绑定到布尔值,wpf,button,data-binding,isenabled,Wpf,Button,Data Binding,Isenabled,我有一个列表一个简单的对话框,其中包含一些复选框,我想有一个确定按钮,将被禁用,除非用户改变了设置。在我看来,我有一个OkEnabled属性,我将按钮的isEnabled属性绑定到该属性,如果复选框更改其值,它会将OkEnabled设置为true,但由于某些原因,这不会启用按钮 public bool OkEnabled { get { return m_okEnabled; } set { m_okEnabled = va

我有一个列表一个简单的对话框,其中包含一些复选框,我想有一个确定按钮,将被禁用,除非用户改变了设置。在我看来,我有一个OkEnabled属性,我将按钮的isEnabled属性绑定到该属性,如果复选框更改其值,它会将OkEnabled设置为true,但由于某些原因,这不会启用按钮

public bool OkEnabled
{
    get
    {
        return m_okEnabled;
    }
    set
    {
        m_okEnabled = value;
        OnPropertyChanged("OkEnabled");
    }
}

由于某些原因,当OkEnabled属性更改状态时,“确定”按钮不会更改状态。如果我将IsEnabled属性绑定到其中一个复选框,我可以看到按钮随着复选框的更改而更改状态

在我看来,我有一个可转让的财产

默认情况下,绑定是相对于DataContext的,而不是相对于视图的。您是否将视图设置为自己的DataContext

在我看来,我有一个可转让的财产


默认情况下,绑定是相对于DataContext的,而不是相对于视图的。您是否将视图设置为其自己的DataContext?

正如您所说,OkEnabled属性在视图中。如果您使用的是MVVM,则这是不正确的。它应该在模型中,并将模型对象分配到视图的datacontext中。

正如您所说的OkEnabled属性在视图中。如果您使用的是MVVM,则这是不正确的。它应该在模型中,并将模型对象分配到视图的datacontext中。

是否看到任何绑定错误?是否看到任何绑定错误?我已将对话框的datacontext设置为包含OkEnabled属性的视图。这就是你的意思吗,对不起,我是WPF的新手。是的,这就是我的意思。检查Visual Studio中的“输出”窗口,查看是否存在绑定错误。很遗憾,没有任何绑定错误。我不明白,如果我将按钮绑定到某个复选框属性,为什么按钮会更改状态。哎呀,我的视图不是从INotifyPropertyChanged继承的。谢谢你的帮助抱歉浪费了你的时间!“谢谢你的帮助,对不起,浪费了你的时间!”你这是什么意思?当我移民到这个国家学习时,教授们教给我们的第一件事就是:“唯一愚蠢的问题就是你没问的问题”。美国司法部等法官告诉比尔·盖茨:“失败比成功更能说明问题——你从未失败过,盖茨先生。”我已将对话框的DataContext设置为包含OkEnabled属性的视图。这就是你的意思吗,对不起,我是WPF的新手。是的,这就是我的意思。检查Visual Studio中的“输出”窗口,查看是否存在绑定错误。很遗憾,没有任何绑定错误。我不明白,如果我将按钮绑定到某个复选框属性,为什么按钮会更改状态。哎呀,我的视图不是从INotifyPropertyChanged继承的。谢谢你的帮助抱歉浪费了你的时间!“谢谢你的帮助,对不起,浪费了你的时间!”你这是什么意思?当我移民到这个国家学习时,教授们教给我们的第一件事就是:“唯一愚蠢的问题就是你没问的问题”。司法部等法官告诉比尔·盖茨:“失败比成功更能说明问题——你从未失败过,盖茨先生。”。
<Button Content="OK" Style="{StaticResource MyButton}" Height="23" 
        HorizontalAlignment="Left" Margin="20" Name="m_okbutton" 
        VerticalAlignment="Top" Width="75"
        Click="okClick" IsEnabled="{Binding Path=OkEnabled}"/>