0

私は次のようなクラスを作成しました

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);
}

xamlでBarItemLinkを次のように使用しています。

<dxb:BarItemLink BarItemName="newActivity"  />

誰かが私を助けてくれますか、BarButtonLinkのAttachedProperty ContextMenuSettingsの値を設定するにはどうすればよいですか?

編集-ソリューションの更新:

チャーリーの助けを借りて、私は解決策を見つけました:

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

1 に答える 1

0

XAMLにContextMenuSettingクラスの名前空間を含めましたか?

xmlns:ctxmenu="SomeNameSpace"

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

編集:カスタムタイプを設定する場合は、TypeConverter(文字列値を入力する場合)を使用するか、拡張構文を使用できます

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

または、これを実行する場合はTypeConverter:

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

これは文字列値「blah」を解釈し、TypeConverterを使用してコードで適切な型を作成します

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

于 2012-06-30T14:53:35.730 に答える