[英]Basic string formatting c#
用+
串联项目只会执行普通的字符串串联,这就是为什么将所有内容都放在一个块中的原因。
要执行您要求的操作,您必须添加一个新的ListViewItem
,在其中您可以在构造函数中指定字符串数组。 每个数组元素代表ListView
一列: {column 1, column 2, column 3, etc...}
例如:
ListView1.Items.Add(new ListViewItem(new string[] {date, time, description}));
ListViewItem(string[])
构造函数的MSDN文档: https : ListViewItem(string[])
v=vs.110 ListViewItem(string[])
.aspx
您需要从ListView属性设置View:Details
,以给出网格样式的外观。 创建ListItem时,将其视为第一列的数据,并将后续SubItems视为该特定ListItem的额外列。 试试这个例子。
ListViewItem lvi;
for (int i = 0; i < 10; i++)
{
lvi = new ListViewItem();
lvi.Text = "first column";
lvi.SubItems.Add("second column");
lvi.SubItems.Add("third column");
listView1.Items.Add(lvi);
}
这是为您扩展的示例。
虽然您可能找到一种方法来连接字符串,然后通过在列表视图以外的其他位置显示它们来适当地隔开它们,但列表视图将是您的最佳选择。
您的代码将类似于以下内容:
public partial class MainWindow : Window
{
//Your data
private string date = "2016-04-04";
private string time = "20:20";
private string description = "poop";
//Declare a list
public List<object> myList { get; set; }
public MainWindow()
{
InitializeComponent();
DataContext = this;
//Instantiate your list
myList = new List<object>();
//Make a new object
var listObject = new
{
newDate = date,
newTime = time,
newDescription = description
};
//Add that object to your list
myList.Add(listObject);
}
}
和您的XAML显示您的结果:
<Window x:Class="WpfApplicationTestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListView x:Name="listView" ItemsSource="{Binding myList}">
<ListView.View>
<GridView>
<GridViewColumn Header="Date" DisplayMemberBinding="{Binding newDate}"/>
<GridViewColumn Header="Time" DisplayMemberBinding="{Binding newTime}"/>
<GridViewColumn Header="Description" DisplayMemberBinding="{Binding newDescription}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.