2013-08-06 24 views
-2

我有一个WPF项目,其中我有一个Resource Dictionary存储我的样式。在这本词典中,我有一个ListBoxItem Template,看起来像这样。在每个列表框中添加名称属性项目

<DataTemplate x:Key="GenreStyle"> 
    <Grid Width="150" Height="150" Background="Transparent"> 
     <Image x:Name="GenreImage" Tag="{Binding Genre}" RenderOptions.BitmapScalingMode="HighQuality" Source="{Binding GenreSource}" Width="140" Height="140" MouseEnter="GenreImage_MouseEnter" MouseLeave="GenreImage_MouseLeave" MouseLeftButtonDown="GenreImage_MouseLeftButtonDown" MouseLeftButtonUp="GenreImage_MouseLeftButtonUp"/> 
    </Grid> 
</DataTemplate> 

现在我想要做的是,阅读图片Tag当我点击每个项目。 现在在做什么是这样的:

private void StationsListLB_PreviewMouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e) 
{ 
    var item = ItemsControl.ContainerFromElement(StationsListLB, e.OriginalSource as DependencyObject) as ListBoxItem; 
    if (item != null) 
    { 
     MessageBox.Show(??????); 
    } 
} 
+0

没有评论解释downvotes? –

+0

没有。根本没有。 – oimitro

+0

也许是因为没有问题? – Pacane

回答

0

好吧,算了一下。我只需要捕获System.Windows.Input.MouseButtonEventArgs。 然后很简单:

private void StationsListLB_PreviewMouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e) 
{ 
    var item = ItemsControl.ContainerFromElement(StationsListLB, e.OriginalSource as DependencyObject) as ListBoxItem; 
    if (item != null) 
    { 
     var opa = e.OriginalSource as System.Windows.Controls.Image; 
     MessageBox.Show(opa.Tag.ToString()); 
    } 
} 
相关问题