【发布时间】:2013-03-09 03:59:52
【问题描述】:
抱歉,我只找到了在列标记中定义的 FieldName 或旧样式的方式
<xcdg:DataGridCollectionViewSource x:Key="cvsMetals" Source="{Binding MetalTypes}">
<xcdg:DataGridCollectionViewSource.GroupDescriptions>
<!--<PropertyGroupDescription PropertyName="Year" />-->
</xcdg:DataGridCollectionViewSource.GroupDescriptions>
</xcdg:DataGridCollectionViewSource>
<xcdg:DataGridControl ItemsSource="{Binding Source={StaticResource cvsMetals} }" AutoCreateColumns="True">
<xcdg:DataGridControl.Columns>
<xcdg:Column FieldName="Name" IsMainColumn="True"></xcdg:Column>
<xcdg:Column FieldName="Year"></xcdg:Column>
<xcdg:Column FieldName="SelectedMetalSeries.Name"></xcdg:Column>
</xcdg:DataGridControl.Columns>
</xcdg:DataGridControl>
SelectedMetalSeries.Name 的最后一列是具有属性的类。我没有找到方法来显示对象的这个属性名称
我的视图模型:
public class AllMetalTypeViewModel : WorkspaceViewModel
{
private ObservableCollection<MetalTypeViewModel> _metalTypes;
public ObservableCollection<MetalTypeViewModel> MetalTypes
{
get { return _metalTypes; }
set { Set("MetalTypes", ref _metalTypes, value); }
}
public class MetalTypeViewModel: WorkspaceViewModel
{
private MetalSeries _selectedMetalSeries;
public MetalSeries SelectedMetalSeries
{
get { return _selectedMetalSeries; }
set { Set("SelectedMetalSeries", ref _selectedMetalSeries, value); }
}
private short _year;
public short Year
{
get { return _year; }
set { Set("Year", ref _year, value); }
}
private string _name;
public string Name
{
get { return _name; }
set { Set("Name", ref _name, value); }
}
public partial class MetalSeries
{
#region Primitive Properties
public virtual long ID
{
get;
set;
}
public virtual string Name
{
get;
set;
}
我发现旧样式似乎不再适用于新版本:
<ExtendedColumn:ExtendedDataGridTextColumn Header="Publisher" Binding="{Binding Publisher}" AllowAutoFilter="False" CanUserSort="False" Width="*"/>
问题是我找不到可以绑定 ViewModel 属性的属性
【问题讨论】:
-
嗯...不知道数据源...你的
DataGridControl的ItemsSource是什么?底层虚拟机是什么样的? -
我已经添加了课程
标签: c# wpf mvvm datagrid wpftoolkit