Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# INotifyPropertyChanged未通知datatrigger_C#_Wpf - Fatal编程技术网

C# INotifyPropertyChanged未通知datatrigger

C# INotifyPropertyChanged未通知datatrigger,c#,wpf,C#,Wpf,我在windowA中有一个按钮,可以打开windowB并改变样式以显示windowB已打开。当我关闭窗口B时,我想重新更改按钮样式。两个窗口使用相同的视图模型 在视图模型中,我使用INotifyPropertyChanged检测属性IsWindowBOpen,并使用它更改按钮样式,如下所示: <ei:DataTrigger Binding="{Binding IsWindowBOpen}" Value="True"> <ei:GoToStateAction Target

我在windowA中有一个按钮,可以打开windowB并改变样式以显示windowB已打开。当我关闭窗口B时,我想重新更改按钮样式。两个窗口使用相同的视图模型

在视图模型中,我使用INotifyPropertyChanged检测属性IsWindowBOpen,并使用它更改按钮样式,如下所示:

<ei:DataTrigger Binding="{Binding IsWindowBOpen}" Value="True">
    <ei:GoToStateAction TargetName="myButton" StateName="IsOpen"/>
</ei:DataTrigger>
<ei:DataTrigger Binding="{Binding IsWindowBOpen}" Value="False">
    <ei:GoToStateAction TargetName="myButton" StateName="IsClose"/>
</ei:DataTrigger>
准备行刑队:(

在创建windowB并将其绑定到“相同”视图模型时,我正在实例化一个新实例

public WindowBView()
    {
        InitializeComponent();
        DataContext = new WindowABViewModel();
    }
而不是使用现有的

我为浪费大家的时间而道歉。请向心脏开一枪。

准备行刑队:(

在创建windowB并将其绑定到“相同”视图模型时,我正在实例化一个新实例

public WindowBView()
    {
        InitializeComponent();
        DataContext = new WindowABViewModel();
    }
而不是使用现有的


我很抱歉浪费了大家的时间。请一枪打到心上。

可能的拼写错误。请检查,SateName“IsClose”是一个有效的名称。是的,是示例语法,但我检查了,它是正确的。请提供处理WindowB关闭的代码。可能的拼写错误。请检查,SateName是否正确“是的"是一个有效的名称。是的,是示例语法,但我已经检查过了,它是正确的。您能提供处理WindowB关闭的代码吗?这很有趣,因为模式窗口的技巧是MVVM的一个弱点。当您的代码出现奇怪的错误时,这意味着您正在做一些愚蠢的事情。这很有趣,因为模式窗口的技巧是MVVM的一个弱点模态窗口是MVVM的一个弱点。当代码出现异常错误时,意味着你在做一些愚蠢的事情。