2017-05-22 1 views
0

Ich versuche auf einen String in meinem Viewmodel zuzugreifen.Wie sende ich eine Zeichenfolge, die Komma (,) als Aktionsparameter in calibrum micro enthält?

<Image Source="info.png" 
    cal:Message.Attach="[Event MouseEnter]=[Action MouseOverCallOut('By default, This will be selected')]"/> 

In meinem Viewmodel, wird dieses Ereignis nicht ausgelöst:

public void MouseOverCallOut(string callOutText) 
{ 
    CallOutMsg = callOutText; 
} 
+0

Hier werden alle verfügbaren Aktionen, die Sie in Ihre Parameter verwenden können: https://caliburnmicro.codeplex.com/wikipage?title = Alle% 20Über% 20Aktionen. Siehe Abschnitt "Aktionsparameter". Ich denke, du musst deine Herangehensweise überdenken und dein Bild vielleicht in ein separates Viewmodel verpacken. – FCin

+0

Danke für Ihren Kommentar, ya ich lese es schon, dass Link –

Antwort

2

Es sollte funktionieren, wenn Sie das Komma (,) aus den string entfernen. Dies funktioniert für mich:

<Image Source="info.png" cal:Message.Attach="[Event MouseEnter]=[Action MouseOverCallOut('By defaultThis will be selected')]" Margin="5,0,5,0" /> 

Offenbar Caliburn.Micro kann nicht das Komma aus irgendeinem Grund behandeln.

Wenn Sie auf jeden Fall das Komma müssen, können Sie eine unsichtbare TextBlock verwenden:

<TextBlock x:Name="txt" Text="By default, This will be selected" Visibility="Collapsed" /> 
<Image Source="info.png" cal:Message.Attach="[Event MouseEnter]=[Action MouseOverCallOut(txt.Text)]" Margin="5,0,5,0" /> 
+0

Ich weiß, dass ohne Komma es Arbeit ist. Ich muss einige msg in diesem Komma zeigen sollte ihre sein. –

Verwandte Themen