本文介绍了水平显示多个数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在列表框中水平显示数据.我已经使用属性从文本框中读取数据,并且必须将这些多个数据显示在列表框中(水平一行).我的代码如下所示.
how to display data horizontally in a list box. I had used the properties for reading data from the text box and i have to display these multiple data in to a list box (in one line, horizontally) . my code is shown below..
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
LoadData();
}
private void LoadData()
{
List<ItemList> MyList = new List<ItemList>();
MyList.Add(new ItemList { Subject = subjectText.Text });
MyList.Add(new ItemList { Createdtext = CreatedText.Text });
MyList.Add(new ItemList { Calendartext = CalendarText.Text });
MyList.Add(new ItemList { TimeText = TimeText.Text });
MyList.Add(new ItemList { AssignedText = AssignedText.Text });
MyList.Add(new ItemList { DescriptionText = DescriptText.Text });
MyList.Add(new ItemList { TargetdateText = TargetDateText.Text });
MyListBox.ItemsSource = MyList;
}
获取数据的属性是:
public class ItemList
{
private string _subject;
private string _createdtext;
private string _calendartext;
private string _timeText;
private string _assignedText;
private string _descriptionText;
private string _targetdateText;
public string Subject
{
get
{
return _subject;
}
set
{
_subject = value;
}
}
public string Createdtext
{
get
{
return _createdtext;
}
set
{
_createdtext = value;
}
}
public string Calendartext
{
get
{
return _calendartext;
}
set
{
_calendartext = value;
}
}
public string TimeText
{
get
{
return _timeText;
}
set
{
_timeText = value;
}
}
public string AssignedText
{
get
{
return _assignedText;
}
set
{
_assignedText = value;
}
}
public string DescriptionText
{
get
{
return _descriptionText;
}
set
{
_descriptionText = value;
}
}
public string TargetdateText
{
get
{
return _targetdateText;
}
set
{
_targetdateText = value;
}
}
}
我的列表框"的XAML代码如下所示
My XAML code for List box is shown below
<ListBox x:Name="MyListBox" ItemsSource="ItemList" Grid.ColumnSpan="6" HorizontalAlignment="Left" Grid.Column="1" Grid.Row="8" Width="600" Height="96">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" >
<Grid ShowGridLines="True" Width="700">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="100" />
<ColumnDefinition Width="100" />
<ColumnDefinition Width="100" />
<ColumnDefinition Width="100" />
<ColumnDefinition Width="100" />
<ColumnDefinition Width="100" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="25" />
</Grid.RowDefinitions>
<TextBlock Text="{Binding Subject}" Grid.Column="0"/>
<TextBlock Text="{Binding Createdtext}" Grid.Column="1" />
<TextBlock Text="{Binding Calendartext}" Grid.Column="2" />
<TextBlock Text="{Binding Timetext}" Grid.Column="3"/>
<TextBlock Text="{Binding AssignedText}" Grid.Column="4"/>
<TextBlock Text="{Binding DescriptionText}" Grid.Column="5" />
<TextBlock Text="{Binding TargetdateText}" Grid.Column="6"/>
</Grid>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
但是我没有在一行中得到输出.它以对角线显示.要获得正确的输出,需要进行哪些更改.
but i didn't get the output in one line. it displayed in diagonally.. What are the changes required for getting correct output..
推荐答案
<ListBox x:Name="MyListBox" ItemsSource="ItemList" Grid.ColumnSpan="6" HorizontalAlignment="Left" Grid.Column="1" Grid.Row="8" Width="600" Height="96">
...
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
...
</ListBox>
尝试
这篇关于水平显示多个数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!