Я долгое время не использовал WPF, поэтому я уверен, что для большинства из вас это простой вопрос, но вот мой код xaml:
<Grid>
<ProgressBar Name="Progress" Width="200" Height="20" Minimum="0" Maximum="100" Margin="10"/>
</Grid>
, а вот код C #:
namespace WpfApplication1
{
public partial class MainWindow : Window, INotifyPropertyChanged
{
private int _MyInt;
public int MyInt
{
get { return _MyInt; }
set
{
_MyInt = value;
RaisePropertyChanged("MyInt");
}
}
public MainWindow()
{
InitializeComponent();
MyInt = 99;
Random random = new Random();
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += (sender, e) =>
{
MyInt = random.Next(0, 100);
};
aTimer.Interval = 500;
aTimer.Enabled = true;
Binding b = new Binding();
b.Source = MyInt;
b.Mode = BindingMode.OneWay;
Progress.SetBinding(ProgressBar.ValueProperty, b);
}
public event PropertyChangedEventHandler PropertyChanged;
public void RaisePropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
Когда приложение запускается, я получаю значение 99 на моем ProgressBar, так что привязка, кажется, работает, но затем она вообще не обновляется ...