У меня ListBox заполняется в коде. Каждый элемент представляет собой простую комбинацию текста и URL-адреса, и при выборе элемента он должен перенаправляться на URL выбранного элемента. Это работает, как и ожидалось, но у меня возникла проблема с выбором элемента в ListBox. Кажется, что независимо от того, какой элемент вы выбрали, каждый раз первый элемент в ListBox подсвечивается. Вы по-прежнему перенаправлены на правильный пункт, но он выделяет неправильный. Есть идеи?
Редактировать: это проблема в IE8, но работает как и в FF3.
Редактировать: добавление примера кода. HeadlineData - это пользовательский класс, предназначенный для хранения отображаемых данных.
<Canvas x:Name="HeadlineCanvas">
<ListBox x:Name="HeadlineListBox" Width="260" Height="380" BorderBrush="Gainsboro" BorderThickness="1" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Hidden">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<HyperlinkButton MinHeight="20" MaxHeight="40" Width="240" NavigateUri="{Binding Url}" IsTabStop="False">
<TextBlock TextWrapping="Wrap" Text="{Binding Title}"/>
</HyperlinkButton>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Canvas>
C # код
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
HeadlineData hd = new HeadlineData();
hd.Title = "Title 1";
hd.HeadlineNewsTitle = "Title 1";
hd.LastModifiedTime = DateTime.Now;
hd.Url = "http://www.google.com";
this.HeadlineListBox.Items.Add(hd);
hd = new HeadlineData();
hd.Title = "Title 2";
hd.HeadlineNewsTitle = "Title 2";
hd.LastModifiedTime = DateTime.Now;
hd.Url = "http://www.google.com";
this.HeadlineListBox.Items.Add(hd);
}
}