C# 在不同行中显示一个属性的列表框
我使用以下代码将ListBox绑定到一个列表,即list,并设置绑定路径=Name。但列表框只显示一个字母被分成行的名称。就像名字是JOHN一样,列表框第1行显示“J”,第2行显示“O”,第3行显示“H”,第4行显示“N”。这是密码 XamlC# 在不同行中显示一个属性的列表框,c#,wpf,xaml,listbox,C#,Wpf,Xaml,Listbox,我使用以下代码将ListBox绑定到一个列表,即list,并设置绑定路径=Name。但列表框只显示一个字母被分成行的名称。就像名字是JOHN一样,列表框第1行显示“J”,第2行显示“O”,第3行显示“H”,第4行显示“N”。这是密码 Xaml <ListBox Height="Auto" ItemsSource="{Binding Path=Name}" HorizontalAlignment="Stretch" Margin="0,80,0,0" Name="ledgerListView
<ListBox Height="Auto" ItemsSource="{Binding Path=Name}" HorizontalAlignment="Stretch" Margin="0,80,0,0" Name="ledgerListView" VerticalAlignment="Stretch" Width="200" KeyDown="ledgerListView_KeyDown" MouseDoubleClick="ledgerListView_MouseDoubleClick" IsSynchronizedWithCurrentItem="True" />
代码隐藏
List<Ledgers> ledgers = new List<Ledgers>();
ledgers = DAL_Ledgers.LoadLedgers();
this.DataContext = ledgers;
List分类账=新列表();
分类账=DAL_分类账。装载分类账();
this.DataContext=分类账;
看起来您绑定到了错误的东西。。。如果您使用:
<ListBox ItemsSource="{Binding}" ...>
<ListBox.ItemTemplate>
<DataTemplate>
<sdk:Label Content="{Binding Path=Name}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
看起来您绑定到了错误的东西。。。如果您使用:
<ListBox ItemsSource="{Binding}" ...>
<ListBox.ItemTemplate>
<DataTemplate>
<sdk:Label Content="{Binding Path=Name}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
需要将ItemsSource属性绑定到要从中生成列表框项的源集合。在本例中,这将只是DataContext。要显示每个项目的名称,您可以将DataTemplate应用于包含要为每个项目显示的内容的ItemTemplate属性,或者对于类似这样的简单情况,只需使用DisplayMemberPath来指定name属性
<ListBox ItemsSource="{Binding}" DisplayMemberPath="Name" x:Name="ledgerListView"/>
需要将ItemsSource属性绑定到要从中生成列表框项的源集合。在本例中,这将只是DataContext。要显示每个项目的名称,您可以将DataTemplate应用于包含要为每个项目显示的内容的ItemTemplate属性,或者对于类似这样的简单情况,只需使用DisplayMemberPath来指定name属性
<ListBox ItemsSource="{Binding}" DisplayMemberPath="Name" x:Name="ledgerListView"/>
此外,您可能需要使用ObservableList,否则账本中的更改将不被考虑。此外,您可能需要使用ObservableList,否则账本中的更改将不被考虑。您的解决方案只适用于一个问题之外的其他问题。我正在执行一个不起作用的用于筛选目的的搜索代码。下面是代码:listledgers=newlist();分类账=DAL_分类账。装载分类账();this.DataContext=分类账;ICollectionView视图=CollectionViewSource.GetDefaultView(分类账);新的TextSearchFilter(视图,this.searchTextBox)代码>如果您在过滤方面遇到单独的问题,您应该创建一个包含更多详细信息的新问题。您的解决方案仅适用于一个问题以外的其他问题。我正在执行一个不起作用的用于筛选目的的搜索代码。下面是代码:listledgers=newlist();分类账=DAL_分类账。装载分类账();this.DataContext=分类账;ICollectionView视图=CollectionViewSource.GetDefaultView(分类账);新的TextSearchFilter(视图,this.searchTextBox)代码>如果您在过滤方面有单独的问题,您应该创建一个包含更多详细信息的新问题。