/// <summary>
/// 自动列表序号
/// </summary>
[ValueConversion(typeof(Int32), typeof(ListViewItem))]
public class IndexConverter : IValueConverter
{
public object Convert(object value, Type TargetType, object parameter, CultureInfo culture)
{
ListBoxItem item = (ListBoxItem)value;
ListBox listView = ItemsControl.ItemsControlFromItemContainer(item) as ListBox;
return listView.ItemContainerGenerator.IndexFromContainer(item) + 1;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="3" Width="480" Background="{Binding MoveCommand,Converter={StaticResource listBackgroundConverter}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<Label FontStyle="Italic" Width="50" FontSize="20" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Foreground="White" Background="#E67E22" Content="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}, Converter={StaticResource MyIndexConverter}}"/>
<Label Grid.Column="1" Width="150" Background="Transparent" FontSize="20" VerticalContentAlignment="Center" HorizontalContentAlignment="Left">
<Label.Content>
<MultiBinding Converter="{StaticResource labelConverter}">
<Binding Path="MoveCommand"/>
<Binding Path="Signal"/>
</MultiBinding>
</Label.Content>
</Label>
<TextBox Grid.Column="2" Width="100" Text="{Binding DalayTime, Mode=TwoWay}" FontSize="20" HorizontalAlignment="Right" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"></TextBox>
<Button Grid.Column="3" Width="40" Content="" FontSize="32" Foreground="LawnGreen" Background="Transparent" HorizontalAlignment="Right" Click="btnRunOneStep_Click"></Button>
<Button Content="" Grid.Column ="4" Foreground = "#ff0066" Background="Transparent" Margin="2" Height="20" ToolTip="上移" Click="btnItemUnloadUp_Click"></Button>
<Button Content="" Grid.Column ="5" Foreground = "#3333ff" Background="Transparent" Margin="2" Height="20" ToolTip="下移" Click="btnItemUnloadDown_click"></Button>
<Button Content="" Grid.Column ="6" Foreground = "#ff0000" Background="Transparent" Margin="2" Height="20" ToolTip="删除" Click="btn_ItemUnload_click"></Button>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
效果