【问题标题】:Binding causing error between Element and UserControl绑定导致 Element 和 UserControl 之间的错误
【发布时间】:2015-07-08 13:02:45
【问题描述】:

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

按钮:

<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; }

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

“Windows.UI.Xaml.Markup.XamlParseException”类型的异常 发生在PhoneApp.exe中,但未在用户代码中处理

WinRT 信息:未能分配给属性“%0”。 [线:121 位置:42]

附加信息:与此错误代码相关的文本可能 找不到

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

【问题讨论】:

    标签: c# xaml windows-phone-8.1


    【解决方案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));
    

    【讨论】:

      猜你喜欢
      • 2013-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-18
      • 1970-01-01
      • 1970-01-01
      • 2015-05-21
      相关资源
      最近更新 更多