0

これは、同じことについて何度も何度も質問するのはとても恥ずかしく、最もひどいように見えます。

本当に申し訳ありませんが、まだ理解できなかったか、期待どおりに機能していませんでした

私の以前の投稿で@slugsterはコンバーターを提案したので、以下のような彼のコードを使用しました

MyView.xaml

    <UserControl.Resources>
        <!-- Image Buttons -->
        <Converters:BooleanToVisibilityConverter x:Key="visibilityConverter"></Converters:BooleanToVisibilityConverter>
       <!--Label-->
        <Converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"></Converters:BooleanToVisibilityConverter>

 <Label Name="isImageValid"  Content="Image not Created" Margin="0,7,1,0" Style="{StaticResource LabelField}"
                Grid.ColumnSpan="2" Grid.Row="15" Width="119" Height="28" Grid.RowSpan="2"
                Grid.Column="1" IsEnabled="True" 
                Visibility="{Binding isImageValid,Converter={StaticResource BooleanToVisibilityConverter}}" />                

myviewModel.cs

private bool _isImageValid;                  
public bool IsImageValid
{
    get { return _isImageValid; }
    set 
    {
        _isImageValid = value;
        this.RaisePropertyChanged(() => this.IsImageValid);
    }
}

private void OnImageResizeCompleted(bool isSuccessful)
{
    if (isSuccessful)
    {
        this.SelectedStory.KeyframeImages = true;
        _isImageValid = false;
        // isImageValid = System.Windows.Visibility.Collapsed;
    }
    else
        this.SelectedStory.KeyframeImages = false;
}

コードをデバッグすると、「OnImageResizeCompleted」メソッドが呼び出され、「_isImageValid = False」が呼び出されたときに、UIに反映されません。また、今は失われています。多くの否定的なコメントが寄せられることは知っていますが、申し訳ありませんが、それを理解できませんでした自分を出します。

4

1 に答える 1

1

まず、正しいVisibility="{Binding isImageValid...行。ビュー モデル プロパティはIsImageValidです。

次に、OnImageResizeCompleted()メソッドはプロパティの変更について UI に通知せずIsImageValid、プロパティ バッキング フィールドを変更するだけです。に変更_isImageValid = falseIsImageValid = falseます。

于 2012-05-10T02:08:45.703 に答える