2

Не могу реализовать анимацию для этой красной стрелочки.

введите сюда описание изображения

Нужно чтобы она плавно передвигалась вправо и влево когда значение будет меняться. Значения приходят по СОМ порту.

Вот код этой стрелочки:

<UserControl
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:local="clr-namespace:MultiChannelAnalizator"
         xmlns:ed="http://schemas.microsoft.com/expression/2010/drawing"
         xmlns:convertors="clr-namespace:MultiChannelAnalizator.Classes.Convertors"
         x:Class="MultiChannelAnalizator.MeassureMeterControl"
         mc:Ignorable="d" 
         d:DesignHeight="110" d:DesignWidth="420">

<UserControl.Resources>
    <convertors:MeassureConvertor x:Key="MeassureConvertor"/>
</UserControl.Resources>

<Grid Background="White">
    <Border BorderThickness="1" BorderBrush="Black">
        <local:Scale Margin="0,10,0,50"/>
    </Border>

    <ed:BlockArrow HorizontalAlignment="Left"
                   Margin="{Binding Value, Converter={StaticResource MeassureConvertor}}"
                   Orientation="Up"
                   StrokeThickness="2"
                   Width="14.267"
                   Fill="Red"
                   ArrowheadAngle="40"
                   ArrowBodySize="0.4"/>
</Grid>

razorqhex
  • 193
  • У меня же вопрос о том, что мне нужно помочь реализовать анимацию передвижения View компонента. - Ваша стрелка имеет некое смещение же, вот и анимируйте это смещение так, как написано в том топике. Пока разницы не вижу никакой. И, пожалуйста, не вандалируйте правку меток, ваш вопрос не имеет никакого отношения к Visual Studio – Андрей NOP Aug 08 '18 at 06:16
  • 1
    Доказать? Пожалуйста: возьмите из того топика класс AnimatableDoubleHelper и напишите вместо Margin="{Binding Value, Converter={StaticResource MeassureConvertor}}" что-то вроде: local:AnimatableDoubleHelper.OriginalProperty="{Binding Value}" Margin="{Binding (local:AnimatableDoubleHelper.AnimatedProperty), RelativeSource={RelativeSource Self}, Converter={StaticResource MeassureConvertor}}" – Андрей NOP Aug 08 '18 at 06:19
  • @АндрейNOP, да я бы с радостью анимировал, было бы только это написано на qt и вопросов бы не задавал лишних.

    Я и не просил доказательств, но не увидел что-то похожее между моим вопросов и вопросом того участника

    – razorqhex Aug 08 '18 at 06:21
  • Попробуйте то что я вам написал выше ^^ Тот вопрос мой, кстати, и класс оттуда я использовал много раз, в том числе и для анимации перемещения GUI-элемента, например: https://ru.stackoverflow.com/a/699504/218063 – Андрей NOP Aug 08 '18 at 06:22
  • @АндрейNOP, да. Вы были правы. Я всегда использовал qt и в студии, а тем более уж в wpf я полный лес. Огромное спасибо за помощь – razorqhex Aug 08 '18 at 06:43
  • Откатил правки, надеюсь, вы не возражаете. Я правильно понял, у вас заработал код, который я привел во втором комментарии? – Андрей NOP Aug 08 '18 at 06:46
  • Да. Могу-ли я весь этот рабочий код в эту тему написать в качестве правильного ответа? – razorqhex Aug 08 '18 at 06:48
  • Да не нужно (да и вопрос закрыт как дубликат уже) – Андрей NOP Aug 08 '18 at 06:49

0 Answers0