更好的存储资源模板:
<Window.Resources>
<DataTemplate x:Key="DefaultTemplate">
<Grid x:Name="GridItem" Width="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock x:Name="Parameter" Grid.Column="1" Text="{Binding Path=Name}" Margin="5,1,0,0" />
<TextBlock x:Name="Value" Grid.Column="2" Text="{Binding Path=Age}" Margin="85,1,0,0" />
<Line x:Name="Separator" X1="0" X2="0" Y1="0" Y2="20" SnapsToDevicePixels="True" Grid.Column="1" Stroke="Black" StrokeThickness="2" Margin="50,0,0,0" HorizontalAlignment="Left" />
</Grid>
</DataTemplate>
</Window.Resources>
ListBox的定义:
<ListBox Name="MyListBox" ItemTemplate="{StaticResource DefaultTemplate}" />
在代码的C#:
public class Person
{
public string Name
{
get;
set;
}
public int Age
{
get;
set;
}
}
定义的ObservableCollection:
在收集个
private ObservableCollection<Person> MyListBoxData = new ObservableCollection<Person>();
并添加项目:
MyListBoxData.Add(new Person()
{
Name = "Nick",
Age = 21,
});
MyListBoxData.Add(new Person()
{
Name = "Adam",
Age = 11,
});
MyListBox.ItemsSource = MyListBoxData;
编辑:
然后设置宽度= “3 *” WIDTH = “*” 和保证金= “ - WidthGrid” 的第一TextBlock的:
<Grid x:Name="GridItem" Width="300">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock x:Name="Parameter" Grid.Column="1" Text="{Binding Path=Name}" Margin="-220,0,0,0" />
<TextBlock x:Name="Value" Grid.Column="2" Text="{Binding Path=Age}" Margin="0,0,0,0" />
</Grid>
该线程不是很有帮助。目前尚不清楚实际问题是什么。 – shawn1874 2015-02-10 18:26:46