我正在尝试让我疯狂的行为。
我有一个ProgressBar
代表数据库中导入的演变(百分比,从0
到100
)。
导入完成后(ProgressBar.Value = 100.0
),我打开一个日志窗口,其代码如下所示:
RadWindow window = new RadWindow()
{
//Set some properties
};
window.Closed += Log_Closed;
window.ShowDialog();
关闭RadWindow
后,我想重置ProgressBar
。如您所见,我使用代码如下的函数Log_Closed
:
private void Log_Closed(object sender, EventArgs e)
{
//pbImport.Value = pbImport.Minimum; (didn't work)
pbImport.Value = 0;
}
注意:pbImport
是我的进度条。
<{strong> Log_Closed
中的说明无效。
在说明之前:
经过指示:
显然,进度条未在UI中更新。我无法理解这一点。谢谢你的帮助。
答案 0 :(得分:8)
动画保留在属性上,为了在代码中重置它们,您必须先删除动画,以便“释放”该属性。
有关如何在WPF中设置动画后的属性的信息,请参阅https://msdn.microsoft.com/en-us/library/aa970493%28v=vs.110%29.aspx。
答案 1 :(得分:0)
重置进度条可以通过使用&#34; if&#34;来实现。循环并递增进度条。
您可以为数据库进程设置bool值,然后只需:
private void Log_Closed(object sender, EventArgs e)
{
//pbImport.Value = pbImport.Minimum; (didn't work)
pbImport.Value = 0;
if (database)
{
pbImport.Increment(100);
}
}