如何在列表框中水平顯示數據。我已經使用屬性從文本框中讀取數據,我必須將這些多個數據顯示在列表框中(在一行中,水平地)。我的代碼如下所示..水平顯示多個數據
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代碼如下所示
<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>
,但我沒有得到輸出在一行中。它顯示在對角。什麼是獲得正確的輸出需要的變化..
This is a dupe of http://stackoverflow.com/questions/1165236/silverlight-3-list-box – 2009-08-03 13:37:32