Windows Phone 8复选框与公共属性绑定
本文关键字:属性 绑定 Phone 复选框 Windows | 更新日期: 2023-09-27 18:27:34
我正试图将我的复选框绑定到一个公共布尔属性,但我无法使其工作。
我是不是错过了什么?
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<CheckBox Name="CheckBox2" IsChecked="{Binding CheckBoxState}">
</CheckBox> </Grid>
代码背后:
public const string NamePropertyName = "CheckBoxState";
private bool _checkboxstate = true;
public bool CheckBoxState
{
get { return _checkboxstate; }
set
{
if (_checkboxstate == value) return;
_checkboxstate = value;
RaisePropertyChanged(NamePropertyName);
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
void appBarButtonSelect_Click(object sender, EventArgs e)
{
// HERE IT SHOULD TOGGLE STATE BUT IT DOES NOT!
CheckBoxState = !CheckBoxState;
}
答案隐藏在表面下七层。我真的在检查每一个wpf绑定的问题以找到答案,最终我找到了!我开始认为这是WP8的问题,而不是WPF。
所以我不得不像一样绑定窗口的数据上下文
<phone:PhoneApplicationPage DataContext="{Binding RelativeSource={RelativeSource Self}}">
答案在这里找到
我必须做更多关于wpf绑定的阅读:)