[英]Attached Properties as XAML Elements
我有一類附加屬性:
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);
}
}
我在XAML中使用以下屬性:
<Border me:XamlProps.Foo="Foo to the Bar">
但是現在我想在此屬性中使用更大的值,所以我想將其用作元素:
<Border>
<me:XamlProps.Foo>Foo to the Bar</me:XamlProps.Foo>
</Border>
但是現在Silverlight不再調用SetFoo()了。 我該如何工作?
如果重要,請在Windows Phone 7上。
如果使用該語法,則需要指定類型:
<Border>
<me:XamlProps.Foo>
<sys:String>Foo to the Bar</sys:String>
</me:XamlProps.Foo>
</Border>
sys命名空間映射到System的位置。 您還需要定義GetFoo ...
可能是復制粘貼的錯字,但在注冊時
typeof(XamlActions)
應該
typeof(XamlProps)
您永遠不要依賴於SetFoo被調用。 任何東西都可以簡單地調用SetValue(FooProperty,“ blah”)並繞過它。
您應該在DependencyProperty中定義一個PropertyChangedCallback 。 注冊呼叫以通知更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.