【发布时间】:2021-07-27 20:35:57
【问题描述】:
来自官方document:
然后在特定控件上设置附加属性时使用命名空间声明,如以下 XAML 代码示例所示:
<Label Text="Label Shadow Effect" local:ShadowEffect.HasShadow="true" />
等效的 C# 代码如以下代码示例所示:
var label = new Label { Text = "Label Shadow Effect" }; ShadowEffect.SetHasShadow (label, true);
我的问题:
以下 XAML 绑定的等效 C# 代码:
<Label Text="Label Shadow Effect" local:ShadowEffect.HasShadow="{Binding HasShadow}" />
示例场景
我有一个LongPressEffect,它公开了一个附加的可绑定属性Command。效果附在Label上,如下图:
<Label x:Name="LongPressLabel"
Text="Long press me"
effects:LongPressEffect.Command = "{Binding MyCommand}">
<Label.Effects>
<effects:LongPressEffect />
</Label.Effects>
</Label>
如何对 C# 代码进行相同的绑定?
相似主题
似乎与here 提出的问题相同。有什么想法吗?
【问题讨论】:
-
并非如此。该线程提到的是将属于 TextBox 的属性
Text绑定到附加属性(作为绑定的path中的附加属性)。我想要的是将附加属性(一个本身不属于元素的属性,在我的 XAML 示例中为Label)绑定到另一个属性。
标签: c# xaml xamarin binding attached-properties