Триггер не работает - PullRequest
       11

Триггер не работает

0 голосов
/ 06 мая 2010

У меня есть пользовательский элемент управления, это редактируемый текстовый блок. Содержание элемента управления:

    <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 в true, но кажется, что триггер не работает, потому что шаблон содержимого не меняется. Кто-нибудь, пожалуйста, объясните мне, почему?

1 Ответ

0 голосов
/ 06 мая 2010

Вы пытались удалить установщик по умолчанию?

т.е. измените свой код стиля на:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...