2012-05-10 120 views
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 =假”。再迷路了now.I知道我得到很多负面评论,但很抱歉我没能弄清楚自己。

+0

如果他们不帮助,请不要接受答案。这也是一个可怕的问题,如果你不打算解释你所期望的*,就不要谈论“不可预料”。 –

+0

对不起HB,我第一次测试它看起来像它的工作,但一些我没有正确地跟踪的东西,所以我测试了不同的情况下它不在早上工作,但我的坏已经接受了答案yeseterday.i将请确保将来,谢谢 – Usher

+0

问题的含义并不清楚。用一个具体的例子来确定故障情况。你甚至不会发布转换器的代码。 – Paparazzi

回答

1

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

其次,OnImageResizeCompleted()方法不会通知UI约IsImageValid性质的变化,它只是改变属性的支持字段。将_isImageValid = false更改为IsImageValid = false

+0

我应该向你们鞠躬,以帮助我解决相同的问题,最后我对绑定和它的工作原理有了一点了解,谢谢Max解决了这个问题。它正在工作,但我有另一个问题来重置值在初始化时为false,但与此问题无关,请再次感谢 – Usher