1

我避免问这个问题,但是无法设置 ListBox 的选定索引。我已阅读其他线程并应用了设置,但它不起作用。

            <ListBox  ItemsSource="{Binding}" 
                      HorizontalAlignment="Right" 
                      Name="lstReading" Height="Auto" 
                      SelectedIndex="{Binding BookmarkSelectedIndex}">

在 something.xaml.cs 中,我是设置

            lstReading.DataContext = IQText;

其中,IQText 是一个IEnumerable<dictIQ>并包含BookmarkSelectedIndexas 数据元素。可以使用 IQText 中的其他数据元素,但不能设置 listindex。有人可以让我知道为什么吗?

4

2 回答 2

1

你有BookmarkSelectedIndex课内dictIQ吗?所以,你有一个BookmarkSelectedIndex每件,而不是每个收藏!

BookmarkSelectedIndex您可以在外部创建单独的属性dictIQ或创建继承自ObservalbeCollection<dictIQ>并具有附加属性的类BookmarkSelectedIndex

public class CollectionWithIndex: ObservalbeCollection<dictIQ>
{
    public int BookmarkSelectedIndex { get; set; }
}

我希望您选择最适合您的解决方案

于 2012-04-10T19:19:37.343 回答
1

在运行时将此代码用于选择项目...

List<Audio> lst = Audio.GetAudioFiles();
            Audio aufile = new Audio { FileDisplayName = "Select Audio File" };
            lst.Insert(0, aufile);
            lstPickAudio.ItemsSource = lst;
           string FileDisplayName="your condition"
            lstPickAudio.SelectedItem = lst.Where(p => p.FileName == FileDisplayName).First();
于 2012-04-11T10:51:56.883 回答