【发布时间】:2017-07-18 18:54:20
【问题描述】:
我在更新ProgressBar 时遇到了非常奇怪的情况。
基本上,我有SemanticZoom,在ZoomedIn 模式下我有ListView。每个ListView 都包含ProgressBar。这是最有趣的。
工作(我设定的值):
<ProgressBar Minimum="1488240000" Maximum="1488241000" Value="{Binding CurrentTime, Mode=OneWay}" />
不工作(值是绑定的):
<ProgressBar Minimum="{Binding Start, Mode=OneTime}" Maximum="{Binding Finish, Mode=OneTime}" Value="{Binding CurrentTime, Mode=OneWay}" />
它的工作方式不是这样:
Start 已绑定,OK。 Finish 已绑定,OK。 CurrentTime 已绑定,PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CurrentTime))) 已触发,但在这里:
public double CurrentTime
{
get
{
return currentTime;
//It's trigged only first time
//But should be triggered every time PropertyChanged triggered
}
set
{
currentTime = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CurrentTime)));
//It's OK, it's trigged every time I update this property
}
}
所以,肯定有一些事情要做。有什么想法吗?
顺便说一句,当我使用ProgressBar 的属性位置时,我得到了奇怪的结果。例如,如果我设置Minimum,然后Maximum,然后Value 我有ProgressBar 100%。如果我设置Value、Maximum 和Minimum - 没关系。
【问题讨论】:
标签: c# xaml uwp winrt-xaml inotifypropertychanged