首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# visible不工作

C# visible不工作
EN

Stack Overflow用户
提问于 2015-06-19 20:47:03
回答 1查看 189关注 0票数 0

我正在为Windows 8.1制作一个通用应用程序,我的代码有问题。

在TextBlock值大于或等于22之后,一些图像应该变得可见。如果值小于22,所有图像都应该是不可见的。

我的问题:如何在文本块值>="22“之后获得可见图像

这是我隐藏图像的代码:

代码语言:javascript
复制
private void points_Loaded(object sender, RoutedEventArgs e)
{
  int n = 0;
  bool b = int.TryParse(points.Text, out n);
  DataContext = this;
  ImageVis = (b && n >= 22) ? Visibility.Visible : isibility.Collapsed;
}

private Visibility imageVis;

public Visibility ImageVis
{
  get { return imageVis; }
  set
  {
    imageVis = value;
    RaisePropertyChanged("ImageVis");
  }
}

public event PropertyChangedEventHandler PropertyChanged = delegate { };

protected void RaisePropertyChanged(string propertyName)
{
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}

此代码部分来自XAML:

代码语言:javascript
复制
<Image x:Name="hole17img" 
  HorizontalAlignment="Left" 
  Height="57" 
  Margin="10,3540,0,0" 
  VerticalAlignment="Top" 
  Width="380"
  Source="Assets/septinpatsmit.png" 
  Stretch="Fill"
  Visibility="{Binding ImageVis, Mode=TwoWay}"/>

我不同意:RaisePropertyChanged("ImageVis");

名称“RaisePropertyChanged”在当前上下文中不存在

这是否意味着我用这个名字制造了一些物体?还是别的什么?

我可以提供我的我的申请,这样你就可以看到发生了什么。

我的申请样本

EN

回答 1

Stack Overflow用户

发布于 2015-06-19 20:56:17

RaisePropertyChanged是MVVM的方法,每当您使用给定的name.In (后面的XAML代码)引发属性时,就会更新UI,然后将ViewModel的属性绑定到XAML属性,并且当RaisePropertyChanged触发时,它会通知给定的属性,之后会刷新UI。

您还需要使用转换器将布尔值转换为Visibility.In通用,您需要更多的MVVM模式知识到Windows。

查看这篇文章http://www.mvvmlight.net/doc/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30947023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档