我避免提出这个问题,但无法设置ListBox的选定索引。我已经阅读了其他线程并应用了设置,但它不起作用。
<ListBox ItemsSource="{Binding}"
HorizontalAlignment="Right"
Name="lstReading" Height="Auto"
SelectedIndex="{Binding BookmarkSelectedIndex}">
在something.xaml.cs中,我是设置
lstReading.DataContext = IQText;
其中,IQText是IEnumerable<dictIQ>
,并包含BookmarkSelectedIndex
作为数据元素。可以使用IQText中的其他数据元素,但无法设置listindex。有人可以让我知道为什么吗?
答案 0 :(得分:1)
BookmarkSelectedIndex
课程内是否有dictIQ
?所以,每个项目只有一个BookmarkSelectedIndex
,而不是每个集合!
您可以在BookmarkSelectedIndex
之外创建单独的属性dictIQ
,也可以创建从ObservalbeCollection<dictIQ>
继承并具有其他属性BookmarkSelectedIndex
的类:
public class CollectionWithIndex: ObservalbeCollection<dictIQ>
{
public int BookmarkSelectedIndex { get; set; }
}
我希望您选择最适合您的解决方案
答案 1 :(得分: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();