【发布时间】:2020-01-26 09:30:47
【问题描述】:
我尝试在 Datagrid 中使用 bindinig,但它没有显示值
这是我的代码:
在 xaml 中:
<Grid DataContext="ListFromFolderToFileTransferViewModel">
<DataGrid Name="datagrid" SelectionChanged="selectionChanged" ItemsSource="{Binding Source=Folders,UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" CanUserAddRows="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="Folders" Binding="{Binding Source=Folders}" Foreground="Black" IsReadOnly="false" />
</DataGrid.Columns>
</DataGrid>
</Grid>
在 xaml.cs 中:
public ListFromFolderToFileTransferView()
{
InitializeComponent();
DataContext = new ListFromFolderToFileTransferViewModel();
}
在视图模型中:
object _lock = new object();
public event PropertyChangedEventHandler PropertyChanged;
ObservableCollection<string> _Folders=new ObservableCollection<string>();;
public ObservableCollection<string> Folders { get => _Folders; set { _Folders = value; OnPropertyChanged("Folders"); } }
public ListFromFolderToFileTransferViewModel()
{
BindingOperations.EnableCollectionSynchronization(Folders, _lock);
string[] folders = Directory.GetDirectories(FilePath);
foreach (var folder in folders)
{
DirectoryInfo d = new DirectoryInfo(folder);
Folders.Add(d.Name);
}
}
我在每行看到表格,它是为我写的文件夹并且不显示值
有人可以帮助我 非常感谢
【问题讨论】: