0
这是我的枚举绑定字典<string, int>到
public enum Works
{
[Description("Admin")]
Admin,
[Description("Chưa Set")]
UnSetted,
[Description("Vào - Ra")]
InOut,
[Description("Ra - Vào")]
OutIn
}
这是我的ViewModel
public class DivisionViewModel : ViewModel<IDivisionView>
{
private IEnumerable<Account> accounts;
private ICommand confirmCommand;
private Dictionary<string, int> works;
....
}
我转换枚举得到一个解释,并得到帐户这样
this.divisionViewModel.Accounts = Root.Accounts;
this.divisionViewModel.Works = Enum.GetValues(typeof(Works))
.Cast<Works>()
.ToDictionary(t => Tools.GetEnumDescription((Works)t), t => (int)t);
这里是我的WPF数据网格
<DataGrid ItemsSource="{Binding Accounts}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<DataGrid.Columns>
<DataGridTextColumn
Binding="{Binding FullName, UpdateSourceTrigger=PropertyChanged, ValidatesOnExceptions=True, NotifyOnValidationError=True}"
Header="Tên nhân viên" Width="*" ElementStyle="{StaticResource TextCellElementStyle}"
EditingElementStyle="{StaticResource TextCellEditingStyle}"/>
<DataGridComboBoxColumn></DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>
如何将this.divisionViewModel.Works
绑定到DataGridComboBoxColumn
? p/s:我希望我的用户直接在DataGrid上更改工作。我已经在SO上接吻了。但似乎没有人谈论将Dictionary绑定到DataGridComboBoxColumn。
这是行不通的。它显示一个空选择列表。我试图把另一个组合框放在datagird之外,并绑定到 - >它工作。 – user2877989
哎呀抱歉,我读了你的ViewModel错误。让我编辑我的答案 – Damascus