0

このプログレスバーを含むmainpage.xamlがあります:

<ProgressBar x:Name="DataLoading" Height="10" Margin="0,-14,0,0" Grid.Row="1" VerticalAlignment="Top" IsIndeterminate="True"/>

Webサービスが呼び出された後、このプログレスバーの可視性を折りたたむ必要がありますか?どこで入手できますか?私がmvvmとwindowsphonedevに非常に慣れていないのを手伝ってください?答えを出すために必要なコードを教えてくださいありがとう1

4

2 に答える 2

2

IsDataLoadingViewModelにboolプロパティを追加するだけです。BooleanToVisibiltyConverterを使用して、その値をのVisibiltyプロパティにバインドします。Webサービスの状態に応じて、プロパティをtrueとfalseに設定します。ProgressBarIsDataLoading

<Grid>
    <Grid.Resources>
        <BooleanToVisibiltyConverter x:Key="bool2VisConverter" />
    </Grid.Resources>
    <ProgressBar Visibility="{Binding IsDataLoading, Converter={StaticResource bool2VisConverter}}" />
</Grid>
于 2012-11-19T12:09:03.040 に答える
0

ViewModelの場合:

        private bool _isBusy;
    public bool IsBusy
    {
        get
        {
            return _isBusy;
        }
        set
        {
            if (value == _isBusy)
                return;
            _isBusy = value;
            DispatcherService.BeginInvoke(() =>
            {
                RaisePropertyChanged(() => IsBusy);
            });
        }
    }

ビューのプログレスバー:

 <ProgressBar IsIndeterminate="True" Visibility="{Binding IsBusy, Converter={StaticResource VisibilityConverter}}" />
于 2012-11-19T13:02:03.490 に答える