Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xaml 基于复选框选择的Windows phone显示/隐藏文本框_Xaml_Windows Phone 8_Binding_Windows Phone - Fatal编程技术网

Xaml 基于复选框选择的Windows phone显示/隐藏文本框

Xaml 基于复选框选择的Windows phone显示/隐藏文本框,xaml,windows-phone-8,binding,windows-phone,Xaml,Windows Phone 8,Binding,Windows Phone,我会根据复选框选择显示/隐藏文本框(如果选中,则显示文本框字段)。 我尝试过这种方法,但不起作用(textbox字段始终隐藏): 我的模型: private bool _passwordRequired; ... public bool PasswordRequired { get { return _passwordRequired; } set { _passwordRequired = value; OnPropertyChanged

我会根据复选框选择显示/隐藏文本框(如果选中,则显示文本框字段)。 我尝试过这种方法,但不起作用(textbox字段始终隐藏):

我的模型:

private bool _passwordRequired;
...
public bool PasswordRequired
{
    get { return _passwordRequired; }
    set
    {
        _passwordRequired = value;
        OnPropertyChanged("PasswordRequired");
    }
}

public event PropertyChangedEventHandler PropertyChanged;

protected void OnPropertyChanged(string name)
{
    PropertyChangedEventHandler handler = PropertyChanged;
    if (handler != null)
    {
        handler(this, new PropertyChangedEventArgs(name));
    }
}

如果
DataContext
设置正确并且没有绑定错误,那么上面的代码看起来很好。检查输出窗口以查看是否发生任何绑定错误输出窗口中没有错误。绑定是正确的,一切正常。。。StkPnl.DataContext=设置;您可以将您的模型/视图模型发布到定义了
PasswordRequired
属性的位置,或者至少发布
PasswordRequired
定义的位置吗?它是否实现了INotifyPropertyChanged,是否在属性设置程序中引发属性更改通知事件?好的,到目前为止仍然可以。我尝试创建新的WP项目,您的代码运行得非常好,文本框根据复选框状态显示/隐藏。问题一定在其他地方,不确定在哪里。@tommy86尝试将CheckBox元素的
IsChecked
属性设置为Textbox元素的
Visibility
属性<代码>可见性=“{Binding IsChecked,ElementName=chkpsw,Converter={StaticResource VisibilityConverter}}”
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
    bool visibility = (bool)value;
    return visibility ? Visibility.Visible : Visibility.Collapsed;
}
private bool _passwordRequired;
...
public bool PasswordRequired
{
    get { return _passwordRequired; }
    set
    {
        _passwordRequired = value;
        OnPropertyChanged("PasswordRequired");
    }
}

public event PropertyChangedEventHandler PropertyChanged;

protected void OnPropertyChanged(string name)
{
    PropertyChangedEventHandler handler = PropertyChanged;
    if (handler != null)
    {
        handler(this, new PropertyChangedEventArgs(name));
    }
}