c# – 附加属性为XAML元素

前端之家收集整理的这篇文章主要介绍了c# – 附加属性为XAML元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一类附加属性
public static class XamlProps
{
    #region Attached Properties

    private static readonly DependencyProperty FooProperty = DependencyProperty.RegisterAttached(
        "Foo",typeof(string),typeof(XamlProps),null);

    public static void SetFoo(DependencyObject obj,string action)
    {
        obj.SetValue(FooProperty,action);
    }
}@H_502_3@ 
 

我在XAML中使用这些属性

<Border me:XamlProps.Foo="Foo to the Bar">@H_502_3@ 
 

但现在我想在这个属性中有一个更大的值,所以我想用它作为一个元素:

<Border>
    <me:XamlProps.Foo>Foo to the Bar</me:XamlProps.Foo>
</Border>@H_502_3@ 
 

但现在Silverlight不再调用SetFoo()了.我该如何让这个工作?

在Windows Phone 7上,如果重要.

解决方法

如果您使用该语法,则需要指定类型:
<Border>
    <me:XamlProps.Foo>
        <sys:String>Foo to the Bar</sys:String>
    </me:XamlProps.Foo>
</Border>@H_502_3@ 
 

sys命名空间映射到System的位置.你还需要定义GetFoo …

可能是一个复制粘贴打字错误,但在注册

typeof(XamlActions)@H_502_3@ 
 

应该

typeof(XamlProps)@H_502_3@
原文链接:https://www.f2er.com/csharp/94595.html

猜你在找的C#相关文章