<small id='QPWtC'></small><noframes id='QPWtC'>

<i id='QPWtC'><tr id='QPWtC'><dt id='QPWtC'><q id='QPWtC'><span id='QPWtC'><b id='QPWtC'><form id='QPWtC'><ins id='QPWtC'></ins><ul id='QPWtC'></ul><sub id='QPWtC'></sub></form><legend id='QPWtC'></legend><bdo id='QPWtC'><pre id='QPWtC'><center id='QPWtC'></center></pre></bdo></b><th id='QPWtC'></th></span></q></dt></tr></i><div id='QPWtC'><tfoot id='QPWtC'></tfoot><dl id='QPWtC'><fieldset id='QPWtC'></fieldset></dl></div>
  • <legend id='QPWtC'><style id='QPWtC'><dir id='QPWtC'><q id='QPWtC'></q></dir></style></legend>

  • <tfoot id='QPWtC'></tfoot>

      <bdo id='QPWtC'></bdo><ul id='QPWtC'></ul>

        是否可以从列表中的项目中获取索引?

        时间:2023-10-07

        <legend id='rMNcD'><style id='rMNcD'><dir id='rMNcD'><q id='rMNcD'></q></dir></style></legend>
        <tfoot id='rMNcD'></tfoot>
        • <bdo id='rMNcD'></bdo><ul id='rMNcD'></ul>
              <tbody id='rMNcD'></tbody>

              <small id='rMNcD'></small><noframes id='rMNcD'>

                1. <i id='rMNcD'><tr id='rMNcD'><dt id='rMNcD'><q id='rMNcD'><span id='rMNcD'><b id='rMNcD'><form id='rMNcD'><ins id='rMNcD'></ins><ul id='rMNcD'></ul><sub id='rMNcD'></sub></form><legend id='rMNcD'></legend><bdo id='rMNcD'><pre id='rMNcD'><center id='rMNcD'></center></pre></bdo></b><th id='rMNcD'></th></span></q></dt></tr></i><div id='rMNcD'><tfoot id='rMNcD'></tfoot><dl id='rMNcD'><fieldset id='rMNcD'></fieldset></dl></div>
                2. 本文介绍了是否可以从列表中的项目中获取索引?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我的意思是,我有一个 listBox,我将 itemsSource 属性放入列表中.我还想在它的绑定中显示索引.

                  I mean, I've got a listBox, and I'm putting in itemsSource property the list. And I want to show also the index in the binding of it.

                  我不知道这在 WPF 中是否可行.谢谢.

                  I have no idea if this is possible in WPF. Thanks.

                  推荐答案

                  有一些方法可以做到这一点,包括 使用 AlternationIndex 的一些变通方法.

                  There are a few methods for doing this including some workarounds using the AlternationIndex.

                  但是,由于我已将 AlternationIndex 用于其他目的,因此我希望通过以下方式获得元素索引的绑定:

                  However, since I've used the AlternationIndex for other purposes I like to get a binding for the element index with the following:

                  <MultiBinding Converter="{StaticResource indexOfConverter}">
                      <Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type ItemsControl}}" />
                      <Binding Path="."/>
                  </MultiBinding>
                  

                  转换器定义为:

                  public class IndexOfConverter : IMultiValueConverter
                  {
                      public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
                      {
                          if (Designer.IsInDesignMode) return false;
                  
                          var itemsControl = values[0] as ItemsControl;
                          var item = values[1];
                          var itemContainer = itemsControl.ItemContainerGenerator.ContainerFromItem(item);
                  
                          // It may not yet be in the collection...
                          if (itemContainer == null)
                          {
                              return Binding.DoNothing;
                          }
                  
                          var itemIndex = itemsControl.ItemContainerGenerator.IndexFromContainer(itemContainer);
                          return itemIndex;
                      }
                  
                      public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
                      {
                          return targetTypes.Select(t => Binding.DoNothing).ToArray();
                      }
                  }
                  

                  这篇关于是否可以从列表中的项目中获取索引?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:制作 WPF ListBox 逗号分隔值 下一篇:仅在选择 ListViewItem 时显示内容

                  相关文章

                    • <bdo id='j6Ooi'></bdo><ul id='j6Ooi'></ul>

                    <i id='j6Ooi'><tr id='j6Ooi'><dt id='j6Ooi'><q id='j6Ooi'><span id='j6Ooi'><b id='j6Ooi'><form id='j6Ooi'><ins id='j6Ooi'></ins><ul id='j6Ooi'></ul><sub id='j6Ooi'></sub></form><legend id='j6Ooi'></legend><bdo id='j6Ooi'><pre id='j6Ooi'><center id='j6Ooi'></center></pre></bdo></b><th id='j6Ooi'></th></span></q></dt></tr></i><div id='j6Ooi'><tfoot id='j6Ooi'></tfoot><dl id='j6Ooi'><fieldset id='j6Ooi'></fieldset></dl></div>

                    <legend id='j6Ooi'><style id='j6Ooi'><dir id='j6Ooi'><q id='j6Ooi'></q></dir></style></legend><tfoot id='j6Ooi'></tfoot>
                  1. <small id='j6Ooi'></small><noframes id='j6Ooi'>