1
WP7 ProgressBarの視覚的な側面は、値が最小値または最大値を超えると機能しなくなります。具体的には、最小値または最大値を超えた後、値がMinとMaxの間の値に戻ると、ProgressBarが完全に暗くなったり、完全に塗りつぶされたりします(MinおよびMaxの場合)。WP7 ProgressBarが値が最小値または最大値を超えたときにブレークする
あなたの誰かがこれを再現することに興味があるなら、コードを作成してください。これを回避するにはどうしたらいいですか?
Btwには、最小値と最大値が異なり、値がこれらの値を超えることがあります。
XAML:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Button Click="Button_Click" Width="150" Height="100" VerticalAlignment="Top">Up</Button>
<Button Click="Button_Click_1" Width="150" Height="100" VerticalAlignment="Top" HorizontalAlignment="Right">Down</Button>
<ProgressBar x:Name="PBar" Value="{Binding Progress}" Maximum="{Binding Maximum}"></ProgressBar>
<TextBlock Text="{Binding Progress}" VerticalAlignment="Bottom"/>
</Grid>
のC#:
using System.ComponentModel;
public partial class MainPage : PhoneApplicationPage, INotifyPropertyChanged
{
// Constructor
public MainPage()
{
InitializeComponent();
this.LayoutRoot.DataContext = this;
Maximum = 100;
}
private int _progress;
public int Progress
{
get { return _progress; }
set
{
_progress = value;
NotifyPropertyChanged("Progress");
}
}
private int _maximum;
public int Maximum
{
get { return _maximum; }
set
{
_maximum = value;
NotifyPropertyChanged("Maximum");
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{ PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); }
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Progress += 10;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
Progress -= 10;
}
}
私はXAMLがMinとMaxが超過していないかどうかをチェックする別のPropertyにバインドするように、DomainModelを少し修正しました。つまり、これはまだ迷惑なバグです、IMHO。 – Pretzel
Windows Phone用のSilverlightツールからPerformanceProgressBarを試すことができます。それはうまくいくかもしれません。 – gbanfill