zoukankan      html  css  js  c++  java
  • wpf 中ListBox的用法

       ListBox可以用来显示类似web中新闻列表的样式,显示也比较灵活,可以自定定义模板

            <DataTemplate x:Key="listBoxTemplate">
                <StackPanel Margin="4">
                    <DockPanel>
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition  />
                                <RowDefinition  Height="2" />
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition />
                                <ColumnDefinition  Width="500" />
                                <ColumnDefinition  />
                            </Grid.ColumnDefinitions>
                            <Image Height="19" Source="/Financial;component/Images/main/新闻列表图标.png" Grid.Row="0" Grid.Column="0" 
    Name
    ="image1" Stretch="Fill" VerticalAlignment="Top" Width="19" /> <TextBlock Text="{Binding Title}" Grid.Row="0" Grid.Column="1" Foreground="White" /> <TextBlock Text="{Binding AddTime,Mode=OneWay,StringFormat='yyyy-MM-dd HH:mm:ss'}" Grid.Row="0" Grid.Column="2" Foreground="White"/> <Image Height="2" Source="/Financial;component/Images/main/新闻列表下划线.png" Grid.Row="1" Grid.ColumnSpan="3" Margin="0,0" Name="image2"
    Stretch
    ="Fill" VerticalAlignment="Top" Width="710" /> </Grid> </DockPanel> </StackPanel> </DataTemplate> </UserControl.Resources> <Grid Name="gdMainPanel" Width="725" Height="260" Margin="5,0"> <TextBlock Height="23" HorizontalAlignment="Left" Margin="114,18,0,0" Name="textBlock1" Foreground="#282c42" Text="标题:" VerticalAlignment="Top" /> <ListBox Margin="0,49,0,34" Name="listboxNews" ItemTemplate="{StaticResource listBoxTemplate}" BorderThickness="0"
    PreviewMouseDoubleClick
    ="listBox1_PreviewMouseDoubleClick"> <ListBox.Background> <ImageBrush ImageSource="/Financial;component/Images/main/个人资料背景.png" /> </ListBox.Background> <ListBox.Resources> <Style TargetType="ListBoxItem"> <Style.Resources> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="#999999"/> <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Gray"/> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Gray"/> <SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="Gray"/> </Style.Resources> </Style> </ListBox.Resources> </ListBox>

    后台是通过泛型集合IList<实体>来完成绑定

          /// <summary>
            ///  初始化数据
            /// </summary>
            private void InitializeData() 
            {
                StringBuilder sqlstr = new StringBuilder();
                string key = "";
                 if(txtKey.Text.Trim()!=null)
                 {
                     key = txtKey.Text.Trim();
                     sqlstr.Append(" Title like '%"+key+"%'");
                 }
                 pager.PageSize = 5;
                 WebNewsServices.News[] newList = webNews.isSelectPaging(sqlstr.ToString(), pager.PageSize, pager.PageCurrent, out _dataTotal);
                 IList<WebNewsServices.News> list = new List<WebNewsServices.News>(newList);
                 listboxNews.ItemsSource = list;
                 //EntityListener.PfmMemberListener.Instance.Receive(list);
                  }
         private void listBox1_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
            {
                WebNewsServices.News newItem = listboxNews.SelectedItem as WebNewsServices.News;
                if(newItem!=null)
                {
                    string id = newItem.ID;
                    PassData.Id = id;
                    this.ModuleExtend(true, Library.Transit.NameItems.NewDetail);
                }
             
            }
  • 相关阅读:
    使用Spring RestTemplate 发送 List<MultipartFile>,上传多个文件
    二分查找的非递归实现
    图的深度优先遍历和广度优先遍历
    快速排序学习
    szwl面试记录
    Mycat对Mysql进行分库分表
    Java使用队列解决约瑟夫问题
    pa_hzzx面试总结
    Linux pam 后门纪录root用户密码以及自己设置root密码登录root
    JSP线程安全
  • 原文地址:https://www.cnblogs.com/shuang121/p/2860882.html
Copyright © 2011-2022 走看看