2010-05-31 32 views
3

我有我的看法下一個代碼:在觸發更改TextBlock.Text沒有工作

<Style x:Key="documentFileNameStyle"> 
    <Setter Property="TextBlock.Foreground" Value="Gray"/> 
    <Style.Triggers> 
     <DataTrigger Binding="{Binding Path=Untitled}" Value="True"> 
      <Setter Property="TextBlock.FontStyle" Value="Italic"/> 
      <Setter Property="TextBlock.Text" Value="no file name"/> 
     </DataTrigger> 
    </Style.Triggers> 
</Style> 

<DataTemplate x:Key="documentTemplate">    
    <TextBlock Text="{Binding Path=FileName}" Style="{StaticResource documentFileNameStyle}"/>         
</DataTemplate> 

但TextBlock.Text設置爲一個字符串,沒有工作。 TextBlock.FontStyle更改爲斜體,因此整個觸發器正常工作。哪裏不對?

回答

9

屬性的本地分配比設置觸發器中的值具有更高的優先級。

此外,您正在使用綁定(Path = FileName)來設置TextBlock的Text-Property。因此,更改觸發器中的文本不會影響該屬性。

正如您使用綁定。如果屬性「無標題」爲「真」,我將更改屬性「文件名」以返回「無文件名」。

+0

謝謝,在樣式中設置Text =「{Binding Path = FileName}」,而不是本地分配固定的問題。 – Seldon 2010-05-31 09:59:27