我在 ListBoxTransactions 中为show创建集合,并以描述绑定。但是在结果中我只有 ListBoxTransactions.ItemsSource 中的名称集合,但没有值。无法使用 ListBox.ItemTemplate
XAML
<phone:PivotItem Header="Journal">
<Grid>
<ListBox Name="ListBoxTransactions">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Description}" FontSize="35"/>
</StackPanel>
</ListBox>
</Grid>
</phone:PivotItem>
C#
public class TransactHelper
{
public string Description { get; set; }
}
public void ShowTransactions()
{
ListBoxTransactions.Items.Clear();
var transactFulls = _workerDb.GeTransactFull();
var list = new List<TransactHelper>();
foreach (var t in transactFulls)
{
list.Add(new TransactHelper { Description = t.Description });
}
this.ListBoxTransactions.ItemsSource = list; // dont view collection. only name collection
答案 0 :(得分:0)
您应该为您的商品实施ItemContainerStyle。
<ListBox Name="ListBoxTransactions" ItemContainerStyle="{DynamicResource MyItemStyle}">
<ListBox.Resources>
<Style x:Key="MyItemStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Description}" FontSize="35"/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.Resources>
</ListBox>
并且一旦注意到: 不要使用这对
ListBoxTransactions.Items.Clear();
this.ListBoxTransactions.ItemsSource = list;
你需要
ListBoxTransactions.ItemsSource = null;
this.ListBoxTransactions.ItemsSource = list;
或将您的收藏品实施为ObservableCollection