我正在为Windows 8.1制作一个通用应用程序,我的代码有问题。
在TextBlock值大于或等于22之后,一些图像应该变得可见。如果值小于22,所有图像都应该是不可见的。
我的问题:如何在文本块值>="22“之后获得可见图像
这是我隐藏图像的代码:
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:
<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”在当前上下文中不存在
这是否意味着我用这个名字制造了一些物体?还是别的什么?
我可以提供我的我的申请,这样你就可以看到发生了什么。
我的申请样本
发布于 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/
https://stackoverflow.com/questions/30947023
复制相似问题