我正在尝试使用在c#中生成的几个列来填充数据网格。其中一列是PackIcon或PackIconMaterial,另一列是包含多个文本列的复选框。图像将根据数据集合中的int值进行更改。
<DataGrid Name="DataGrid1"/>
</DataGrid>
Code to populate the grid:
ObservableCollection<DemoModel> models = new ObservableCollection<DemoModel>();
models.Add(new DemoModel() { Text = "Some Text #1.", DynamicImg = PackIconKind.Bell });
models.Add(new DemoModel() { Text = "Some Text #2." });
models.Add(new DemoModel() { Text = "Some Text #3." });
models.Add(new DemoModel() { Text = "Some Text #4.", DynamicImg = PackIconKind.BellOutline});
models.Add(new DemoModel() { Text = "Some Text #5." });
DataGrid1.ItemsSource = models;
The model:
class DemoModel : INotifyPropertyChanged
{
protected String _text;
public String Text
{
get { return _text; }
set { _text = value; RaisePropertyChanged("Text"); }
}
protected String _dynamicText;
public String DynamicText
{
get { return _dynamicText; }
set { _dynamicText = value; RaisePropertyChanged("DynamicText"); }
}
internal bool MyIsReadOnly = true;
protected PackIconKind _DynamicImg;
public PackIconKind DynamicImg
{
get { return _DynamicImg; }
set {
_DynamicImg = value;
RaisePropertyChanged("DynamicImg");
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void RaisePropertyChanged(String propertyName)
{
PropertyChangedEventHandler temp = PropertyChanged;
if (temp != null)
{
temp(this, new PropertyChangedEventArgs(propertyName));
}
}
}我用这个代码得到的只是文本"Bell“或"BellOutline”。我也尝试过"public PackIcon DynamicImg“,但它似乎只显示了类名,而不是单元格中的图像。
有没有人有完整的例子?我看过几个例子,但没有一个能真正完整地使用mahapps图标。
使用.Net 4.6和材质设计主题2.3.1.953。
提前谢谢你,史蒂夫
https://stackoverflow.com/questions/47694141
复制相似问题