Управление Раскадровкой UserControl из родительского Окна в использовании WPF только XAML

Из документации Lombok вы можете использовать конфигурационный ключ fieldName , чтобы дать другое имя.

lombok.log.fieldName = идентификатор (по умолчанию: журнал).
Сгенерированное имя поля регистратора по умолчанию 'log', но вы можете изменить его на другое имя с помощью этой настройки.

blockquote>

Вы можете найти документацию по системе конфигурации Lombok здесь .

5
задан Rich 13 January 2009 в 12:31
поделиться

3 ответа

Можно получить доступ к раскадровке при помощи StaticResource. Вы должны только присвоить ресурс Раскадровке на BeginStroyboard.

<BeginStoryboard Storyboard="{StaticResource MyStoryboard}">
</BeginStoryboard>

Я изменил код на следующее и когда Вы нажмете кнопку, он запустит раскадровку для Вас.Надеюсь, это поможет.

    <UserControl.Resources>
    <Storyboard x:Key="MyStoryboard">
        <ColorAnimation Storyboard.TargetName="grid" Storyboard.TargetProperty="(Grid.Background).Color" From="CadetBlue" To="White" Duration="0:0:2" />
    </Storyboard>
</UserControl.Resources>
<Grid Background="CadetBlue" x:Name="grid">
    <Button Content="Press Me" Height="50">
        <Button.Triggers>
            <EventTrigger RoutedEvent="Button.Click">
                <BeginStoryboard Storyboard="{StaticResource MyStoryboard}">
                </BeginStoryboard>
            </EventTrigger>
        </Button.Triggers>
    </Button>
</Grid>
1
ответ дан 15 December 2019 в 06:37
поделиться

Я думаю, что идея реагирования на внешние события внутри UserControl не очень безопасна. В UserControl вы хотели бы реагировать только на события, рожденные в элементе управления.

Можете ли вы перевернуть ситуацию и сделать следующее:?

  • Выявить свойство UC, которое необходимо анимировать, как свойство зависимости (фон в данном случае)
  • Создайте как EventTrigger, так и Storyboard в родительском окне
2
ответ дан 15 December 2019 в 06:37
поделиться

Вероятно, нет хорошего способа сделать это с чистым Xaml.

Вы можете:

  • Сделать свойство зависимости в вашем UserControl, которое принимает кнопку, затем вы можете привязать
  • Сделайте какой-нибудь сумасшедший конвертер, который просматривает ваше визуальное дерево в поисках чего-то конкретного.

Оба требуют некоторого C #, поэтому я не знаю, подходит ли вам что-то из вышеперечисленного.

0
ответ дан 15 December 2019 в 06:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: