gpt4 book ai didi

c# - Xaml 使用隐藏属性

转载 作者:太空宇宙 更新时间:2023-11-03 20:49:36 25 4
gpt4 key购买 nike

我制作了一个自定义控件,它有一个属性 X - 它隐藏了父级的 VisualElement.X 属性。

public class MyCustomControl : ContentView // is a distant child of VisualElement
{
public new double X
{
get { return 0; }
set { Console.WriteLine("I was not called with: " + value); }
}
}

我在xaml中设置了自定义控件的X:

<controls:MyCustomControl X="10" />

但这里调用的是 Xamarin.Forms.VisualElement.X 属性 setter ,而不是 MyCustomControl.X setter 。为什么?我怎样才能做到这一点,以便改用我的自定义控件属性?


作为旁注。当代码后面的 x:Name="myCustomControlmyCustomControl.X = 10 - 然后调用 MyCustomControl 的 setter 。


当声明父级中不存在的属性时:

public double AnotherX
{
get { return 0; }
set { Console.WriteLine("Was called with: " + value); }
}

setter 被调用。 (来自 xaml)。

最佳答案

这是因为您正在通过 Xaml 设置 VisualElement 的 BindableProperty“X”。如果您也在自定义控件中创建 BindableProperty“X”,它应该可以工作。

关于c# - Xaml 使用隐藏属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56579689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com