You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MAUI中使用DependencyProperty?引用缺失问题求解

MAUI中DependencyProperty引用错误的解决办法

MAUI不再沿用WPF、UWP或Xamarin.Forms中的DependencyProperty,而是统一使用BindableProperty来实现绑定属性(包括附加属性)的功能,这是API层面的核心变更,也是你遇到引用错误的原因。

解决步骤如下:

  • 确保代码引用Microsoft.Maui.Controls命名空间,BindableProperty定义在此空间下。
  • 将所有DependencyProperty类型替换为BindableProperty。
  • 把注册附加属性的DependencyProperty.RegisterAttached方法改为BindableProperty.CreateAttached。

修改后的完整代码示例:

using Microsoft.Maui.Controls;

public static class ButtonHelperClass
{
    public static CornerRadius GetCornerRadius(Button element)
    {
        return (CornerRadius)element.GetValue(CornerRadiusProperty);
    }

    public static void SetCornerRadius(Button element, CornerRadius value)
    {
        element.SetValue(CornerRadiusProperty, value);
    }

    public static readonly BindableProperty CornerRadiusProperty =
        BindableProperty.CreateAttached(
            "CornerRadius",
            typeof(CornerRadius),
            typeof(ButtonHelperClass),
            new CornerRadius(5)
        );
}

注意:附加属性需要同时定义Get和Set静态方法,MAUI对此的要求和之前一致,XAML中的使用方式也和Xamarin.Forms保持兼容,只需确保页面的命名空间引用正确即可。

内容的提问来源于stack exchange,提问作者anand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 22:12:24