2012-06-30 3 views
0

я создал класс, какУстановленное значение для AttachedProperty с собственным типом

public class ContextMenuSetting { 
    public bool ContextMenuAllowed { get; set; } 
    public string GridKey { get; set; } 
} 

И в AttachedProperty вроде:

public static readonly DependencyProperty ContextMenuSettingsProperty = DependencyProperty.RegisterAttached("ContextMenuSettings", typeof(ContextMenuSetting), typeof(BarItemLink), null); 

public static void SetContextMenuSettings(this BarItemLink target, ContextMenuSetting contextMenuSetting) { 
    target.SetValue(ContextMenuSettingsProperty, contextMenuSetting); 
} 

public static ContextMenuSetting GetContextMenuSettings(this DependencyObject target) { 
    return (ContextMenuSetting)target.GetValue(ContextMenuSettingsProperty); 
} 

есть сейчас следующее использование BarItemLink в XAML:

<dxb:BarItemLink BarItemName="newActivity" /> 

Может кто-нибудь мне помочь, как я могу установить значение для AttachedProperty ContextMenuSettings для BarButtonLink?

редактировать - решение обновления:

С помощью Charleh, я нашел решение:

<dxb:BarItemLink BarItemName="newActivity"> 
    <pcce:BarItemLinkExtensions.ContextMenuSettings > 
     <pcce:ContextMenuSettings ContextMenuAllowed="True" GridKey="hallo"/> 
    </pcce:BarItemLinkExtensions.ContextMenuSettings> 
</dxb:BarItemLink> 

ответ

0

Включили ли вы имена классов ContextMenuSetting в XAML?

xmlns:ctxmenu="SomeNameSpace" 

<dxb:BarItemLink BarItemName="blah" ctxmenu:ContextMenuSetting.ContextMenuSettings="blah" /> 

Edit: если вы хотите установить пользовательский тип, который вы можете использовать либо TypeConverter (если вы хотите, чтобы ввести значение строки) или использовать расширенный синтаксис

<dxb:BarItemLink BarItemName="blah"> 
    <ctxMenu:ContextMenuSetting.ContextMenuSettings SomeProperty="SomeValue" /> 
</dxb:BarItemLink> 

Или TypeConverter, если вы хотите сделать это:

<dxb:BarItemLink BarItemName="blah" ctxmenu:ContextMenuSetting.ContextMenuSettings="blah" /> 

Каким будет интерпретировать значение строки «л» и использовать TypeConverter для создания соответствующего типа в коде

http://msdn.microsoft.com/en-us/library/aa970913.aspx

+0

Да. Но вложенное свойство ContextMenuSettings и класс объекта ContextMenuSetting. Теперь, как я могу установить значение типа ContextMenuSetting в AttachedProperty ContextMenuSettings? – BennoDual

+0

Спасибо. С вашей помощью я нашел решение. Я отредактировал свой вопрос с решением. – BennoDual

 Смежные вопросы

  • Нет связанных вопросов^_^