我有一个让我感到困惑的问题:我想问一下WPF(Xaml)中ListView / DataGrid中构建的动态列。我的意思是,列数不确定,可以随时间变化。例如:
public class LocalizationModel
{
public string Key { get; set; }
public List<LocalizationCell> Translation { get; set; }
}
public class LocalizationCell
{
public CultureInfo Culture { get; set; }
public string Translation { get; set; }
public LocalizationCell(CultureInfo culture, string translation)
{
Culture = culture;
Translation = translation;
}
}
在ViewModel中我有下一个属性:
public IEnumerable<LocalizationModel> LocalizationList
{
get => _localizationList;
set => Set(ref _localizationList, value);
}
通过这种方式,我尝试保存关键和本地价值的信息。
在我的视图上,我希望使用ListView或DataGrid显示此集合,并可以更改本地化值。我需要一些方法来使用XAML动态构建列,例如:
| Key | English | Denmark | Spanish | ...
答案 0 :(得分:0)
XAML不是一种编程语言。它是标记语言,不支持动态添加列。
您可以在视图的代码隐藏中以编程方式向std::stringstream ss(checkLine);
getline(ss, something, ',');
getline(ss, somethingElse, ',');
getline(ss, somethingElse1, ',');
getline(ss, somethingElse2, ',');
getline(ss, somethingElse3, ',');
getline(ss, somethingElse4, ',');
getline(ss, somethingElse5, ',');
getline(ss, somethingElse6, ',');
添加列,也可以将DataGrid
设置或绑定到您可以添加到的ItemsSource
列动态。