CSharp - WrapPanel ItemsControl从原始集合引用单个项

  显示原文与译文双语对照的内容

我正在制作一个房地产管理程序,在主页上我有所有的属性列在 WrapPanel 中:

Main Panel with Properties

现在,尽管每个属性都是完全相同的,但是只用于演示和测试多个属性。 each属性中的每个属性都是一个不同的Property 对象,如下面的我的代码所示:


public ObservableCollection<Property> Properties { get; set; }

//...

Property defaultProperty = new Property(/*Lots of Stuff*/);
properties.Add(defaultProperty);
properties.Add(defaultProperty);
properties.Add(defaultProperty);
properties.Add(defaultProperty);
properties.Add(defaultProperty);
Properties = properties;

然后通过一个itemscontrol显示这些属性( ( 属性属性的一部分( 请再次致歉) ) ),如下所示:


<ItemsControl x:Name="wPanel" ItemsSource="{Binding Properties}">
 <ItemsControl.ItemsPanel>
 <ItemsPanelTemplate>
 <WrapPanel x:Name="PropertyPanel"/>
 </ItemsPanelTemplate>
 </ItemsControl.ItemsPanel>
 <ItemsControl.ItemTemplate>
 <DataTemplate>
 <Border Margin="5,5,5,5" BorderBrush="Red" BorderThickness="1" HorizontalAlignment="Left" VerticalAlignment="Top">
 <Grid MinWidth="350" MouseLeftButtonUp="Grid_MouseLeftButtonUp">
//Column and Row Definitions
//...
//Three other corners of the grid
 <StackPanel Grid.Row="1" Grid.Column="1" VerticalAlignment="Bottom">
 <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5,5,5,0" MouseLeftButtonDown="IssuesPanel_MouseLeftButtonDown">//<-- This is the part I'm trying to get to work
 <TextBlock Text="{Binding IssuesNum}" VerticalAlignment="Center"/>
 <TextBlock Text=" Issues" VerticalAlignment="Center"/>
 <Image VerticalAlignment="Center">
 <Image.Source>
 <BitmapImage UriSource="/VentureVisions;component/warning.png" DecodePixelWidth="18"/>
 </Image.Source>
 </Image>
 </StackPanel>
 </StackPanel>
 </Grid>
 </Border>
 </DataTemplate>
 </ItemsControl.ItemTemplate>
</ItemsControl>

我把不重要的部分拿出来了。 当用户在右下方的问题面板上单击时,我试图打开关于属性问题的窗口。 我已经设置了一个事件,但是我需要能够获得属性对象来从窗口中显示问题集合。 我希望这有意义。 如果现在是注释。但如何知道如何引用用户在按钮单击后的特定属性。 谢谢你。

时间: 作者:

从看起来,这是用几种不同的风味来回答的,请参阅以下主题:

  1. 绑定到ItemsControl中的CurrentItem 。
  2. 如何突出显示ItemsControl中的选定项

希望这些帮助。

如果使用任何级别的数据绑定,那么可以将"问题"图像交互绑定到"viewmodel"上的命令,在实例中,视图将是属性对象。

作者:
...