c# – 附加属性为XAML元素

前端之家收集整理的这篇文章主要介绍了c# – 附加属性为XAML元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一类附加属性
  1. public static class XamlProps
  2. {
  3. #region Attached Properties
  4.  
  5. private static readonly DependencyProperty FooProperty = DependencyProperty.RegisterAttached(
  6. "Foo",typeof(string),typeof(XamlProps),null);
  7.  
  8. public static void SetFoo(DependencyObject obj,string action)
  9. {
  10. obj.SetValue(FooProperty,action);
  11. }
  12. }

我在XAML中使用这些属性

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

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

  1. <Border>
  2. <me:XamlProps.Foo>Foo to the Bar</me:XamlProps.Foo>
  3. </Border>

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

在Windows Phone 7上,如果重要.

解决方法

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

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

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

  1. typeof(XamlActions)

应该

  1. typeof(XamlProps)

猜你在找的C#相关文章