• WPF: Добавить анимацию через встроенный в элемент стиль?

    NikitaTratorov
    @NikitaTratorov Автор вопроса
    Я искал как раз подобное решение: переопределение поведения, с сохранением исходного дизайна. Спасибо большое.
    Я попробовал его применить и он прекрасно работает. Лишь одно НО, не дает мне покоя:
    при использовании масштабирования, происходит очень некрасивое растягивание содержимого Expander. Поэтому я искал решение, с применением анимации к высоте его контента. Возможно Вы могли бы подсказать, можно ли использовать здесь PrefferedHeight.

    А применяю я его сразу к элементу, т.к. анимация требуется только в нем. Хотя можно использовать определение стиля через указание его KEY в элементе.
  • WPF: Добавить анимацию через встроенный в элемент стиль?

    NikitaTratorov
    @NikitaTratorov Автор вопроса
    Анимации путаются местами или запускаются одновременно. Неужели все так сложно?
  • WPF: Добавить анимацию через встроенный в элемент стиль?

    NikitaTratorov
    @NikitaTratorov Автор вопроса
    А вот еще попытка, в результате которой нет анимации разворачивания, но плавно сворачивается. И продолжает работать после первой попытки. Я добавил точные размеры числами (что не есть правильно).
                                    <Trigger Property="Expander.IsExpanded" Value="True">
                                        <Trigger.EnterActions>
                                            <BeginStoryboard>
                                                <Storyboard>
                                                    <DoubleAnimation From="0" To="200"  Duration="0:0:0.2" Storyboard.TargetProperty="Content.Height" />
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </Trigger.EnterActions>
                                    </Trigger>
                                    <Trigger Property="Expander.IsExpanded" Value="False">
                                        <Trigger.ExitActions>
                                            <BeginStoryboard>
                                                <Storyboard>
                                                    <DoubleAnimation From="200" To="0" Duration="0:0:0.2" Storyboard.TargetProperty="Content.Height" />
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </Trigger.ExitActions>
                                    </Trigger>
    
  • WPF: Добавить анимацию через встроенный в элемент стиль?

    NikitaTratorov
    @NikitaTratorov Автор вопроса
    А по поводу стрелочки, я не допер, как добратья до нее, находясь внутри тегов STYLE?
  • WPF: Добавить анимацию через встроенный в элемент стиль?

    NikitaTratorov
    @NikitaTratorov Автор вопроса
    Спасибо большое за ответ, Вы навели меня на правильный путь. Я написал следующее:
                                   <Trigger Property="Expander.IsExpanded" Value="True">
                                        <Trigger.EnterActions>
                                            <BeginStoryboard>
                                                <Storyboard>
                                                    <DoubleAnimation From="0" Duration="0:0:0.2" Storyboard.TargetProperty="Content.Height" />
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </Trigger.EnterActions>
                                    </Trigger>
                                    <Trigger Property="Expander.IsExpanded" Value="False">
                                        <Trigger.EnterActions>
                                            <BeginStoryboard>
                                                <Storyboard>
                                                    <DoubleAnimation To="0" Duration="0:0:0.2" Storyboard.TargetProperty="Content.Height" />
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </Trigger.EnterActions>
                                    </Trigger>
    


    теперь он ни сворачивается и не разворачивается вообще. Я подумал и попробовал изменить момент начала анимации:

    <Trigger Property="Expander.IsExpanded" Value="True">
                                        <Trigger.EnterActions>
                                            <BeginStoryboard>
                                                <Storyboard>
                                                    <DoubleAnimation From="0" Duration="0:0:0.2" Storyboard.TargetProperty="Content.Height" />
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </Trigger.EnterActions>
                                    </Trigger>
                                    <Trigger Property="Expander.IsExpanded" Value="False">
                                        <Trigger.ExitActions>
                                            <BeginStoryboard>
                                                <Storyboard>
                                                    <DoubleAnimation To="0" Duration="0:0:0.2" Storyboard.TargetProperty="Content.Height" />
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </Trigger.ExitActions>
                                    </Trigger>
    


    теперь, в первый раз, когда я его разворачиваю — он плавно разворачивается и сразу сворачивается. А дальше снова ни туда ни сюда.
    Я попробовал разные комбинации EnterAction и ExitAction, но успеха не добился. Очевидно что анимации запускаются одна за другой, а дальше возникает какая-то ошибка или зацикленность, хотя программа не падает.
  • WPF: Проблема с DesiredHeight у Expander при XAML-анимации

    NikitaTratorov
    @NikitaTratorov Автор вопроса
    Причина этой проблемы, скорее всего в том, что если не указывать TO изначально, тогда в следующей анимации, вместо FROM будет принято значение, указанное в предыдущей анимации, что в моем случае равно 0. Поэтому я не вижу, как он плавно сворачивается. Оно сразу в ноль сворачивается. Что тут анимировать?

    Так что надо как-то искать решение с From=«0» To="{Binding ElementName=Content, Path=DesiredHeight}"
    либо во втором случае, использовать значение From, полученное от текущего размера развернутого Expander
  • WPF: Проблема с DesiredHeight у Expander при XAML-анимации

    NikitaTratorov
    @NikitaTratorov Автор вопроса
    Есть маленькая победа в решении данной проблемы.
    Оказывается, если ты не знаешь куда тебе стремиться в анимации, достаточно указать начальное значение (From).
    Другими словами, запись:
    <DoubleAnimation From="0" Duration="0:0:0.2" Storyboard.TargetProperty="Content.Height" />
    

    работает! Expamder плавно разворачивается до какого-то своего, одному ему известного значения.

    Теперь другая проблема — также плавно его свернуть. Я попробовал добавить логичный способ (To):
    <Trigger.ExitActions>
         <BeginStoryboard>
              <Storyboard>
                   <DoubleAnimation To="0" Duration="0:0:0.2" Storyboard.TargetProperty="Content.Height" />
              </Storyboard>
         </BeginStoryboard>
    </Trigger.ExitActions>
    

    но не преуспел. Анимации нет. У кого-нибудь есть мысли?
  • Цветной принтер в офис: лазерный или струйный?

    А заменить им все принтеры я рекомендую, потому что 4й картридж (черный) обычно объемом в 2 раза больше цветных. Поэтому ч/б отпечатки на нем еще дешевле. Картридж одного из 3-х цветов для Xerox 7328 стоит порядка 6000р., а черный около 7000р. При ресурсе цветного 16000 и черного 26000 отпечатков. Себестоимость отпечатка без учета принт-картриджа и обслуживания получается: у цветного — 0,375 руб., у черно/белого — 0,269 руб.
    В общей сложности, если отпечатать 16000 цветных и 26000 черно/белых листов на Xerox WC7328, то это обойдется Вам в 48000 рублей. Добавьте сюда выезд инженера для проведения профилактического осмотра и мелкого ремонта — около 2-3 т.р.
  • Цветной принтер в офис: лазерный или струйный?

    Поправлю Вас, что Xerox 7328 это машина SR-A3. И фотографии на ней, хоть и не такие яркие, как на струйнике, но для работы вполне достойные. особенно, если речь идет о 1000 листах, которые надо «выкинуть».
  • Как поймать в логе Exim письма, отправляемые cron'ом?

    NikitaTratorov
    @NikitaTratorov Автор вопроса
    В этот файл пишет только spamd, imapd и imapd-ssl. Логи Exim как раз содержат информацию об отправках, но не содержат лога exim об обработке ACL.
  • Как поймать в логе Exim письма, отправляемые cron'ом?

    NikitaTratorov
    @NikitaTratorov Автор вопроса
    Перефразирую вопрос.
    Почтовик, запущенный в режиме отладки:
    exim -bd -d+all >& /var/log/exim-debug.log
    не отображает письма отправляемые cron'ом.