使用转换器可见的标签不起作用,以另一种方式我搞砸了

本文关键字:另一种 方式我 不起作用 转换器 标签 | 更新日期: 2023-09-27 18:33:46

这看起来很尴尬,而且为同一件事一次又一次地提问是最可怕的。

真的很抱歉,但我仍然无法弄清楚或无法按预期工作

在我之前的帖子中@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中,当调用"OnImageResizeComplete"方法和"_isImageValid=False"时。现在又迷路了。我知道我收到了很多负面评论,但很抱歉我自己无法弄清楚。

使用转换器可见的标签不起作用,以另一种方式我搞砸了

首先,更正Visibility="{Binding isImageValid...行。您的视图模型属性为 IsImageValid

其次,OnImageResizeCompleted()方法不会通知 UI 有关属性更改IsImageValid,它只是修改属性支持字段。将_isImageValid = false更改为IsImageValid = false

相关文章: