2012-10-17 11 views
5

Jak przekazać wyliczenie wewnątrz akcji wiadomości? na przykładPrzekazywanie wyliczenia jako argumentu w akcji caliburn micro

XAML:

<UserControl.ContextMenu> 
    <ContextMenu StaysOpen="True"> 
     <MenuItem Header="Arrow" 
        cal:Message.Attach="ChangeArrowType(LogicArrowEnum.ARROW)"/> 
    .... 

ViewModel:

public void ChangeArrowType(LogicArrowEnum arrowType) 
{ 
    MessageBox.Show(arrowType); //arrowType is empty! 

} 

public enum LogicArrowEnum 
{ 
    ARROW = 1, 
    ASSIGN = 2, 
    IF = 3, 
    IF_ELSE = 4 
} 
+0

Można wiązać z menu Do kolekcja MenuItems, MenuItem miałaby właściwość Name i ArrowType. –

Odpowiedz

13

Wystarczy przekazać wartość Enum jako string:

<MenuItem Header="Arrow" cal:Message.Attach="ChangeArrowType('ARROW')"/> 
+0

Dzięki, powinny być udokumentowane. – juFo

Powiązane problemy