我试图在数据网格中显示字符串列表,但我无法使其正常工作。 xaml是:
<DataGrid x:Name="ListGrid" ItemsSource = "{Binding}" AutoGenerateColumns="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Title" Binding="{Binding trackTitle}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Welcome.xaml.cs看起来像这样,其中trackTitle是List
public Welcome()
{
InitializeComponent();
ListGrid.DataContext = MainWindow.trackTitle;
}
当我预览它时,我可以看到正确的行数但没有Title列的数据。还有一个为Length生成的列,它显示每个字符串的正确长度。我究竟做错了什么?标题栏{Binding trackTitle}的Binding参数不对吗?
答案 0 :(得分:1)
看看这个例子:
查看强>
<Window x:Class="Example.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<DataGrid ItemsSource="{Binding Entries}"/>
</StackPanel>
</Window>
查看代码隐藏
namespace Example
{
using System.Windows;
public partial class MainWindow : Window
{
public MainWindow()
{
DataContext = new MainWindowViewModel();
InitializeComponent();
}
}
}
<强>视图模型强>
namespace Example
{
using System.Collections.ObjectModel;
using System.Windows.Controls;
class MainWindowViewModel
{
public ObservableCollection<string> Entries { get; set; }
public MainWindowViewModel()
{
List<string> list = new List<string>() { "Entry 1", "Entry 2", "Entry 3" };
Entries = new ObservableCollection<string>(list);
}
}
}
显示如何绑定到ViewModel中的集合属性的一个很好的示例。尝试将此应用于您的情况。
祝你好运!