2010-12-09 3 views
0

Ich habe dies in der XAML:SilverLight: HyperLinkButton Gibt es eine andere Möglichkeit, neben der Verwendung von Tag Argumente an die Click-Funktion zu übergeben?

<HyperlinkButton Tag="{Binding Href}" Click="lbImage_hyperlink"> 
           <Image Source="{Binding Href}" Height="40" Width="40" Stretch="UniformToFill" 
           Cursor="Hand" Margin="0,0,-1,0" /> 
          </HyperlinkButton> 

im Code hinter mir die Click-Funktion:

private void lbImage_hyperlink(object sender, RoutedEventArgs e) 
    { 
     HyperlinkButton hlbTemp = sender as HyperlinkButton; 
     ImageSource imageSource = (ImageSource)hlbTemp.Tag; 
     Preview.Source = imageSource; 
    } 

Wie kann ich die Vorteile des RoutedEventArgs nehmen? Oder eine andere Möglichkeit neben der Verwendung von Tag?

Dank

SimpleCode

Antwort

0

NavigateUri ist ein DependencyProperty daher Sie es, was Sie auf Ihrem Ansichtsmodell oder andere Objektdarstellung so wünschen binden können, wenn Sie nicht ein MVVM Muster folgen. Denken Sie daran, es akzeptiert eine Uri, so stellen Sie sicher, dass die Eigenschaft, die Sie binden, ist ein Uri nicht ein String. Wenn Sie einen String verwenden möchten, verwenden Sie einen IValueConverter.

<HyperlinkButton NavigateUri="{Binding UriOnViewModel}" Click="lbImage_hyperlink"> 
           <Image Source="{Binding Href}" Height="40" Width="40" Stretch="UniformToFill" 
           Cursor="Hand" Margin="0,0,-1,0" /> 
          </HyperlinkButton> 
Verwandte Themen