Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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# 多重绑定不';我拿不到第二份财产_C#_.net_Wpf_Xaml - Fatal编程技术网

C# 多重绑定不';我拿不到第二份财产

C# 多重绑定不';我拿不到第二份财产,c#,.net,wpf,xaml,C#,.net,Wpf,Xaml,我对多重绑定有问题。第一个属性更改时,第二个属性的最新值似乎不会被拾取 <Image Width="16" Source="../Images/YellowScales.png" Grid.Column="1" > <Image.Visibility> <MultiBinding Converter="{Converters:GoldScaleConverter}"> <Binding Path="I

我对多重绑定有问题。第一个属性更改时,第二个属性的最新值似乎不会被拾取

<Image Width="16" Source="../Images/YellowScales.png" Grid.Column="1" >
    <Image.Visibility>
         <MultiBinding Converter="{Converters:GoldScaleConverter}">
              <Binding Path="IsFavourite"/>                                            
              <Binding Path="MemoryUsageLevel"/>
         </MultiBinding>
    </Image.Visibility>
 </Image>
最初,当我启动应用程序时,两个属性都会从转换器中命中,并按预期工作

但是,一旦应用程序运行并且我更改了IsFavorite属性,它确实会触发多重绑定,我可以看到,通过转换器,IsFavorite已经翻转,但第二个值MemorySageLevel始终为0.0。吸气剂不再被击中

但是为什么我认为多重绑定是为了检查两个绑定的最新值呢

这是转换器:

public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            bool isFavourite = (bool) values[0];
            double memoryWarningLevel = (double) values[1];

            if(isFavourite && (memoryWarningLevel >= 50.00 && memoryWarningLevel < 75.00))
            {
                return Visibility.Visible;
            }
            return Visibility.Collapsed;

        }
公共对象转换(对象[]值,类型targetType,对象参数,CultureInfo区域性) { bool isfavorite=(bool)值[0]; 双内存警告级别=(双)值[1]; 如果(IsFavorite&&(memoryWarningLevel>=50.00&&memoryWarningLevel<75.00)) { 返回可见性。可见; } 返回可见性。折叠; }
您可能还必须为
MemorySageLevel
发出
属性更改
通知。您可以在
isfavorite

   public bool IsFavourite 
   {
       get { .. }
       set {
         ...
         RaisePropertyChanged("IsFavourite"); 
         RaisePropertyChanged("MemoryUsageLevel"); 
       }  
   } 

您可能还必须为
MemoryUsageLevel
发出
PropertyChanged
通知。您可以在
isfavorite

   public bool IsFavourite 
   {
       get { .. }
       set {
         ...
         RaisePropertyChanged("IsFavourite"); 
         RaisePropertyChanged("MemoryUsageLevel"); 
       }  
   }