Próbuję utworzyć bazę danych właściwości wartości paska postępu w WPF. Mam przycisk skonfigurowany do zwiększania właściwości int właściwości databound dla wartości ProgressBar. Kiedy wciskam przycisk, wartość ProgressBar powinna się policzyć w zakresie od 1 do 100. Jednak ... wydaje się, że nie działa i nie jestem pewien, co robię źle. Tu jest mój XAML ...Wtyczka WPF ProgressBar z wartością danych
<Window x:Class="ProgressBarExample2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="250" Width="400" Background="WhiteSmoke">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<Button Name="goButton" Height="30" Width="50" Margin="0,10,0,50" Click="goButton_Click">GO!</Button>
<ProgressBar Name="progressBar" Width="300" Height="30" Value="{Binding Percent, UpdateSourceTrigger=PropertyChanged}" />
</StackPanel>
i tu jest mój kod za ...
public partial class MainWindow : Window, INotifyPropertyChanged
{
#region INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChange(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
#endregion
private int percent = 0;
public int Percent
{
get { return this.percent; }
set
{
this.percent = value;
NotifyPropertyChange("Percent");
}
}
public MainWindow()
{
InitializeComponent();
}
private void goButton_Click(object sender, RoutedEventArgs e)
{
for (Percent = 0; Percent <= 100; Percent++)
{
Thread.Sleep(50);
}
}
}
można chyba spróbować dodanie TIMER przycisk kliknij uruchomić stoper. W oddzwanianiu licznika zwiększa się procent - przy odpowiednim powiązaniu danych to powinno działać. Połączenia zwrotne są w wątku tła, więc twój główny wątek może zaktualizować pasek postępu. – Sarang