2010-05-06 97 views
0

我有一個用戶控件,它是可編輯的文本塊。該控制的內容是:觸發器不起作用

<DataTemplate x:Key="DisplayModeTemplate"> 
     <TextBlock 
      Text="{Binding ElementName=mainControl, Path=FormattedText}" 
      Margin="5,3,5,3" /> 
    </DataTemplate> 
    <Style TargetType="{x:Type Controls:EditableTextBlock}"> 
     <Setter Property="ContentTemplate" Value="{StaticResource EditModeTemplate}"/> 
     <Style.Triggers> 
      <Trigger Property="IsInEditMode" Value="True"> 
       <Setter Property="ContentTemplate" Value="{StaticResource EditModeTemplate}" /> 
      </Trigger> 
      <Trigger Property="IsInEditMode" Value="False"> 
       <Setter Property="ContentTemplate" Value="{StaticResource DisplayModeTemplate}" /> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</UserControl.Resources> 

另外我有樹視圖的另一個窗口:

當treeView1_KeyDown火災我設置IsInEditMode爲真,但似乎觸發不起作用,因爲內容模板不會改變。任何人,請解釋我爲什麼?

回答

0

您是否嘗試刪除默認設置?

即改變你的風格代碼:

<Style TargetType="{x:Type Controls:EditableTextBlock}"> 
    <Style.Triggers> 
     <Trigger Property="IsInEditMode" Value="True"> 
      <Setter Property="ContentTemplate" Value="{StaticResource EditModeTemplate}" /> 
     </Trigger> 
     <Trigger Property="IsInEditMode" Value="False"> 
      <Setter Property="ContentTemplate" Value="{StaticResource DisplayModeTemplate}" /> 
     </Trigger> 
    </Style.Triggers> 
</Style>