C# Listview 2列WPF
另一个新手问题。我想打开一个文本文件并绑定到一个包含2列、ID和详细信息的listviewWPF。这是txt文件的副本。因此,ID将包含主机和操作系统名称等,详细信息将包含右侧的信息。这个列表要大得多,但你明白了。是的,我是c和WPF的新手。谢谢你的帮助C# Listview 2列WPF,c#,wpf,C#,Wpf,另一个新手问题。我想打开一个文本文件并绑定到一个包含2列、ID和详细信息的listviewWPF。这是txt文件的副本。因此,ID将包含主机和操作系统名称等,详细信息将包含右侧的信息。这个列表要大得多,但你明白了。是的,我是c和WPF的新手。谢谢你的帮助 Host Name: MD1HXQTC OS Name: Microsoft Windows 7 Enterprise OS Version: 6
Host Name: MD1HXQTC
OS Name: Microsoft Windows 7 Enterprise
OS Version: 6.1.7601 Service Pack 1 Build 7601
BIOS Version: Hewlett-Packard M70 Ver. 01.08, 3/16/2015
ListView是ListBox的后代,它允许定义自定义视图而不是直接列表 获取包含列的列表的最简单方法是使用GridView作为ListView的视图 所以,如果你有这样一门课:
public class SomeClass
{
public string FirstProperty { get; set; }
public string SecondProperty { get; set; }
}
//Actually you will also need your setters to raise the PropertyChanged event but it's not in the scope of the question.
您可以按如下方式声明ListView:注意DisplayMemberBindings具有my属性的名称
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Header="First Property"
DisplayMemberBinding="{Binding FirstProperty}"/>
<GridViewColumn Header="Second Property"
DisplayMemberBinding="{Binding SecondProperty}"/>
</GridView>
</ListView.View>
</ListView>
然后,您需要将SomeClass的集合设置为ListView的ItemsSource。ListView是ListBox的后代,它允许定义自定义视图,而不是直接的列表 获取包含列的列表的最简单方法是使用GridView作为ListView的视图 所以,如果你有这样一门课:
public class SomeClass
{
public string FirstProperty { get; set; }
public string SecondProperty { get; set; }
}
//Actually you will also need your setters to raise the PropertyChanged event but it's not in the scope of the question.
您可以按如下方式声明ListView:注意DisplayMemberBindings具有my属性的名称
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Header="First Property"
DisplayMemberBinding="{Binding FirstProperty}"/>
<GridViewColumn Header="Second Property"
DisplayMemberBinding="{Binding SecondProperty}"/>
</GridView>
</ListView.View>
</ListView>
然后,您需要将您的SomeClass集合作为ListView的ItemsSource。创建了我的类
添加了可观察集合
将Itemsource绑定到集合
感谢巴格夫让我开始学习,感谢所有为我指明方向的人 创建了我的类
添加了可观察集合
将Itemsource绑定到集合
感谢巴格夫让我开始学习,感谢所有为我指明方向的人 你自己还没试过吗?有很多关于WPF ListView的文档和示例。所以我很乐意提供帮助,但为了做到这一点,您需要自己尝试一下。将其分解为几个部分,然后编写一些代码来完成每个步骤。在这一点上,如果你得到一个错误或什么,那么无论如何回来,并张贴一个问题。我已经尝试了一些事情,那又怎样?告诉我们你到底在哪里被卡住了。去谷歌并输入。。。如何用C将分隔的文本解析成某些东西,然后编写代码,如果代码不起作用,则发布代码并请求help@Metrics,请不要误会我。不想好斗。绿色是可以的,但在这里你需要做一些腿部工作,而不仅仅是要求写我的代码,你最好的努力将是把每个任务分解成简单的步骤。完成这一步如果需要,请寻求帮助,然后采取下一步。所以从解析数据开始,然后把数据转换成可以使用的东西等等。你自己还没有尝试过什么吗?有很多关于WPF ListView的文档和示例。所以我很乐意提供帮助,但为了做到这一点,您需要自己尝试一下。将其分解为几个部分,然后编写一些代码来完成每个步骤。在这一点上,如果你得到一个错误或什么,那么无论如何回来,并张贴一个问题。我已经尝试了一些事情,那又怎样?告诉我们你到底在哪里被卡住了。去谷歌并输入。。。如何用C将分隔的文本解析成某些东西,然后编写代码,如果代码不起作用,则发布代码并请求help@Metrics,请不要误会我。不想好斗。绿色是可以的,但在这里你需要做一些腿部工作,而不仅仅是要求写我的代码,你最好的努力将是把每个任务分解成简单的步骤。完成这一步如果需要,请寻求帮助,然后采取下一步。因此,从解析数据开始,然后将数据转换为可以使用的内容,等等。我一直在尝试使用:split on char将txt文件拆分为一个数组。不确定listview的数据结构应该是什么样子。不习惯OOP。已经进行了大约10年的程序化编程。只是一个提醒,我需要有人带我通过这个…不希望有人只是正确的代码,我正在学习,非常非常绿色…提前感谢。任何建议都会让我有足够的时间来处理和运行它。我一直在尝试使用:split on char将txt文件拆分成一个数组。不确定listview的数据结构应该是什么样子。不习惯OOP。已经进行了大约10年的程序化编程。只是一个提醒,我需要有人带我通过这个…不希望有人只是正确的代码,我正在学习,非常非常绿色…提前感谢。任何建议都会让我有足够的精力来工作和跑步。
Microsoft.Win32.OpenFileDialog openfiledialog = new Microsoft.Win32.OpenFileDialog();
openfiledialog.FileName = ""; // Default file name
openfiledialog.DefaultExt = ".txt"; // Default file extension
openfiledialog.Filter = "txt files (.txt)|*.txt"; // Filter files by extension
// Show open file dialog box
bool? result = openfiledialog.ShowDialog();
// Process open file dialog box results
if (result == true)
{
var fileName = openfiledialog.FileName;
StreamReader file = new StreamReader(fileName);
string line = "";
while ((line = file.ReadLine()) != null)
{
var splitLine = line.Split(':');
if (splitLine.Count() > 1)
{
gambitCollection.Add(new Gambit() { GetID = splitLine[0].Trim(), GetDetails = splitLine[1].Trim() });
}
}
}
ListViewRPMInfo.ItemsSource = gambitCollection;