绑定导致Element和UserControl之间的错误

时间:2015-04-29 10:02:29

标签: c# xaml windows-phone-8.1

我的页面中有一个用户控件,它有一个布尔属性我试图将它绑定到一个切换按钮。但是,我收到一个我不明白的错误。

按钮:

<AppBarToggleButton x:Name="btnFoo"
                    Icon="Edit"
                    Checked="btnFoo_Checked"
                    Unchecked="btnFoo_Checked"/>

该页面中的用户控件:

<local:ucMyControl FooBool="{Binding ElementName=btnFoo, Path=IsChecked}" />

用户控制的公共财产:

public bool FooBool { get; set; }

初始化控件时出现此错误,

  

类型&#39; Windows.UI.Xaml.Markup.XamlParseException&#39;的例外情况   发生在PhoneApp.exe中但未在用户代码中处理

     

WinRT信息:无法分配到属性&#39;%0&#39;。 [行:121   位置:42]

     

其他信息:与此错误代码相关联的文本可以   找不到

为什么不设置属性?我必须使用值转换器吗?

1 个答案:

答案 0 :(得分:1)

为了将值绑定到属性,它必须是DependencyProperty

 public bool FooBool
    {
        get { return (bool)GetValue(FooBoolProperty); }
        set { SetValue(FooBoolProperty, value); }
    }

    public static readonly DependencyProperty FooBoolProperty =
        DependencyProperty.Register("FooBool", typeof(bool), typeof(ucMyControl), new PropertyMetadata(false));