SilverLight:除了使用Tag之外,HyperLinkBut​​ton还有其他方法可以将参数传递给Click函数吗?

时间:2010-12-09 20:16:07

标签: silverlight hyperlink arguments

我在XAML中有这个:

   <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>

在后面的代码中我使用Click函数:

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

如何利用RoutedEventArgs?或者使用Tag的其他任何方式?

由于

SimpleCode

1 个答案:

答案 0 :(得分:0)

NavigateUri是一个DependencyProperty,因此,如果您不遵循MVVM模式,则可以将其绑定到ViewModel或其他对象表示所需的任何内容。请注意,它接受Uri,因此请确保您绑定的属性为Uri而不是String。如果您想使用String使用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>