как сделать маркер стиля индикатора выполнения или подобное на WPF, НО я могу установить значение во время выполнения? - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть окно прогресса, которое я создал в WPF , и заметил, что могу установить для свойства IsIndeterminate значение true, и оно даст мне визуальный эффект, подобный этому третьему столбцу в этом gif.

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

progress bars animated

До сих пор я пытался установить стиль как Marquee, но, похоже, это не вариант.вот как это выглядит в настоящее время.

current image

<Window x:Class="CrmIntegration.ProgressWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ProgressWindow" Height="133" Width="650">
    <Grid>
        <ProgressBar x:Name="ProgressBar1" HorizontalAlignment="Left" Height="38" Margin="72,43,0,0" VerticalAlignment="Top" Width="506" ValueChanged="ProgressBar1_ValueChanged" OverridesDefaultStyle="True">
            <ProgressBar.FocusVisualStyle>
                <Style/>
            </ProgressBar.FocusVisualStyle>
        </ProgressBar>
        <TextBox x:Name="TextBox1" HorizontalAlignment="Left" Height="19" Margin="231,10,0,0" TextWrapping="Wrap" Text="Syncing..." VerticalAlignment="Top" Width="170" TextAlignment="Center" TextChanged="TextBox1_TextChanged" BorderBrush="White"/>

    </Grid>
</Window>

и вот код для ProgressWindow.xaml.cs

using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace CrmIntegration
{
    /// <summary>
    /// Interaction logic for ProgressWindow.xaml
    /// </summary>
    public partial class ProgressWindow : Window
    {
        public ProgressWindow()
        {
            InitializeComponent();
        }

        private void TextBox1_TextChanged(object sender, TextChangedEventArgs e)
        {

        }

        private void ProgressBar1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
        }
    }
}
...