我在代码中填充了一个ListBox。每个项目都是一个简单的文本/网址组合,当选择一个项目时,它应该重定向到所选项目的URL。这是按预期工作,但我在ListBox中选择项目时遇到问题。看起来无论您选择哪个项目,ListBox中的第一个项目都会每次突出显示。你仍然被带到正确的项目,但它突出了错误的一个。任何想法?Silverlight 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);
}
}
你能发表你正在使用的代码片段吗? – Bryant