2010-03-10 28 views
11

假設綁定是正確的,並且圖像文件是他們查找的地方,任何人都可以發現爲什麼當觸發器計算結果爲true時,下面xaml中的圖像不會改變?圖像源上的wpf數據查詢器

乾杯,
Berryl

  <Image Source="..\..\Images\OK.png" Grid.Column="2" Stretch="None"> 
       <Image.Style> 
        <Style> 
         <Style.Triggers> 
          <DataTrigger Binding="{Binding TimeSheet, Converter={StaticResource overQuotaConv}}" Value="True"> 
           <Setter Property="Image.Source" Value="..\..\Images\Error.png"/> 
          </DataTrigger> 
         </Style.Triggers> 
        </Style> 
       </Image.Style> 
      </Image> 

回答

31

請嘗試以下...

  • 設置的TargetType = 「{x:類型圖像}」 上的樣式
  • 更改二傳手財產財產=「來源」

你的財產路徑的方式是最近定義,它正在尋找名爲Image的圖像(它不存在),然後在那個名爲Source的東西里面。

此外,從頂部的圖像標記中移除Source屬性。這將覆蓋樣式應用的任何內容。你可以將它移動到另一個DataTrigger或者你可以把它放在一個正常的二傳手,像這樣:

<Image Grid.Column="2" Stretch="None"> 
    <Image.Style> 
     <Style TargetType="{x:Type Image}"> 
      <Setter Property="Source" Value="..\..\Images\OK.png" /> 
      <Style.Triggers> 
       <DataTrigger Value="True" Binding="{Binding TimeSheet, Converter={StaticResource overQuotaConv}}"> 
        <Setter Property="Source" Value="..\..\Images\Error.png"/> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </Image.Style> 
</Image> 

你來得有趣。我只是想在我的博客上發佈一些關於控件的東西,它可以做一些與此類似的東西,但是語法更加簡潔。

+0

suh-weet 這個東西到目前爲止是以字節大小來傳遞給我的。謝謝! – Berryl 2010-03-10 04:23:46

+0

多個嗨5的...我不知道爲什麼這很難做,但你的例子幫助我分配。 – 2012-08-29 12:27:56