Как изменить свойство предка с помощью триггера на дочернем шаблоне - PullRequest
1 голос
/ 13 октября 2010

У меня есть поле со списком, и я настроил его шаблон управления. Togglebutton является частью шаблона управления. Теперь, когда на кнопке переключения возникает событие (например, «Проверено»), я хочу изменить свойство комбинированного списка (например: «Передний план»). Как это сделать? Можем ли мы сделать это с помощью родственников?

1 Ответ

1 голос
/ 13 октября 2010

Вы можете использовать Trigger в ControlTemplate и использовать свойство Trigger.SourceName, чтобы указать ToggleButton в качестве источника триггера.

Пример:

<ControlTemplate ... >
    <Grid ... >
        <!-- ... -->
        <ToggleButton x:Name="btnToggle" ... />
        <!-- ... -->
    </Grid>

    <ControlTemplate.Triggers>
        <Trigger SourceName="btnToggle" Property="IsChecked" Value="True">
            <Setter Property="Foreground" Value="Red" />
        </Trigger>
    </ControlTemplate.Triggers>
</ControlTemplate>

Конечно, это относится только к свойствам, а не к событиям, как вы просили.Однако существует множество свойств, которые можно использовать вместо событий, например, свойство IsChecked вместо события Checked.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...