2009-10-30 90 views
1

所以我有實現INotifyPropertyChanged的對象,我有一個屬性,當它改變時,它調用PropertyChanged事件沒事,但是當我使用這樣的轉換器:WPF轉換問題

 <Image Grid.Column="0"> 
      <Image.Source> 
       <Binding Path="IsInstrumentStatusOk" UpdateSourceTrigger="PropertyChanged"> 
        <Binding.Converter> 
         <converters:BooleanToImageConverter 
          ImagePathIfFalse="/Images/InstrumentStatusBar/Instrument_Status_Alarm.png" 
          ImagePathIfTrue="/Images/InstrumentStatusBar/Instrument_Status_OK.png" /> 
        </Binding.Converter> 
       </Binding> 
      </Image.Source> 
     </Image> 

對於它不會更新它的一些原因,它不會調用轉換器。如果我使用它像正常

Source="{Binding MyProperty, Converter={StaticResource MyConverter}}" 

它的工作原理,但我不希望使用它一樣,因爲我有一堆,我想不同的圖像使用轉換器。任何想法爲什麼它不更新?

謝謝。

回答

2

你在你的XAML中設置UpdateSourceTrigger="PropertyChanged"。這意味着當目標屬性變化值應更新回源。顯然,沒有什麼是千變萬化的Image::Source財產。

就完全消除UpdateSourceTrigger設置,你應該罰款。

+0

這也沒有做到這一點,我不得不採取轉換器,並把它放在資源中,然後引用它作爲StaticResource。這很奇怪,我不知道爲什麼它不起作用。 – Carlo 2009-10-30 14:13:42

+0

這是非常奇怪的。沒有理由我能想到的,它不應該像內聯工作。 – 2009-10-30 14:43:49

+0

好吧,所以我再試一次,這次它工作。也許我沒有使用以前使用過的東西?不知道。感謝你的回答。 – Carlo 2009-11-02 16:53:19