使用转换器可见的标签不起作用,以另一种方式我搞砸了
本文关键字:另一种 方式我 不起作用 转换器 标签 | 更新日期: 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
。