这看起来很尴尬,最糟糕的是一遍又一遍地问同样的问题。
真的很抱歉,但我仍然无法弄明白或没有按预期工作
在我之前的帖子@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;
}
当我调试代码时,它甚至没有反映在UI中,当“OnImageResizeCompleted”方法调用并且“_isImageValid = False”时。现在我已经丢失了。我知道我收到了很多负面评论但很遗憾我无法做到自己搞清楚。
答案 0 :(得分:1)
首先,纠正Visibility="{Binding isImageValid...
行。您的视图模型属性为IsImageValid
。
其次,OnImageResizeCompleted()
方法不会通知UI有关IsImageValid
属性更改的信息,它只是修改了属性支持字段。将_isImageValid = false
更改为IsImageValid = false
。