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}}" />                

我的视图模型.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;
}

当我调试代码时,它甚至没有反映在 UI 中,当调用“OnImageResizeCompleted”方法和“_isImageValid=False”时。现在又迷路了。我知道我收到了很多负面评论,但抱歉我无法理解我自己。

4

1 回答 1

1

首先,正确的Visibility="{Binding isImageValid...线路。您的视图模型属性是IsImageValid.

其次,OnImageResizeCompleted()方法不会通知 UIIsImageValid属性更改,它只是修改属性支持字段。更改_isImageValid = falseIsImageValid = false

于 2012-05-10T02:08:45.703 回答