代码之家  ›  专栏  ›  技术社区  ›  Chris Stewart

Silverlight列表框在选择时始终高亮显示第一项

  •  0
  • Chris Stewart  · 技术社区  · 15 年前

    <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);
        }
    }
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   Bryant    15 年前

    如果希望更改选择,则需要删除超链接按钮,然后在ListBox SelectionChanged事件上进行导航。