【问题标题】:Display data in WPF Listview在 WPF 列表视图中显示数据
【发布时间】:2013-02-05 06:17:50
【问题描述】:

我正在开发 wpf 应用程序,其中我有 listview 控件。我对 wpf 很陌生。但设法在 Listview 中添加一些样式并显示水平网格线,如下所示,

 <DataTemplate x:Key="IDBorderedCellTemplate">

                <Border BorderBrush="Black" Margin="0,5,0,1"

                BorderThickness="0,0,0,1" >

                    <TextBlock Foreground="MediumBlue" FontFamily="Calibri" Margin="3,0,0,2" Text=""
                />

                </Border>
            </DataTemplate>


 <ListView.View>

                <GridView ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}">

                    <!-- Product ID -->

                    <GridViewColumn



          CellTemplate="{StaticResource IDBorderedCellTemplate}">

现在我的问题是我可以在加载窗口时在列表视图中显示项目,它只显示网格线。由于我的要求是我有一个浏览按钮来浏览文件,因此这些浏览的文件必须显示在列表视图中。

在加载事件中我添加以下代码行,

    try
    {

        listviewitem = new ListViewItem();
        //displays only the filename in the listview
        listviewitem.Content = System.IO.Path.GetFileName(_name);
        _listFiles.Items.Add(listviewitem);
    }
    catch (Exception)
    {
   }

在 xaml 中添加 gridview 设置后,此数据未显示在列表视图中。现在它只显示网格线。 任何建议/帮助都是可观的。

问候 拉维

【问题讨论】:

    标签: c# wpf listview


    【解决方案1】:

    选择listview的ItemsSource为ObservableCollection或BindingList 用于动态/经常更改的数据,而不是使用 listviewItem。

    XAML

      <ListView  Name="listView1" ItemsSource="{Binding FileStore}">
        <ListView.View>
            <GridView>
                <GridViewColumn Width="120" Header="Files" DisplayMemberBinding="{Binding}" />
            </GridView>
        </ListView.View>
     </ListView>
    

    C#

     public partial class MainWindow : Window
     {
       public ObservableCollection<string> fileList= new ObservableCollection<string>();
    
        public MainWindow()
        {
           InitializeComponent();
            this.DataContext = this;
           // Add files to fileList (ObservableCollection)  
        }
    
        public ObservableCollection<string> FileStore
       {
          get { return fileList; }
       } 
      }
    

    可以在任何地方添加项目到 ObservableCollection,比如点击浏览按钮或加载。

    【讨论】:

      猜你喜欢
      • 2013-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多