显示数据网格中所选项目的枚举

本文关键字:选项 项目 枚举 数据 数据网 网格 显示 | 更新日期: 2023-09-27 18:24:10

当用户从我的WPF页面上的列表中选择一个项目时,我试图在另一个DataGrid:中显示该项目的枚举列表

<DataGrid Grid.Row="1" AutoGenerateColumns="False" IsReadOnly="True" 
    HeadersVisibility="Column"
    ItemsSource="{Binding SelectedAdGroupWithRoles.PrestoRoles}"
    SelectedItem="{Binding SelectedPrestoRole}">                    
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding PrestoRole}" Header="Role" Width="*"/>
    </DataGrid.Columns>
</DataGrid>

PrestoRole是一个枚举。

我不知道如何设置最终绑定:

<DataGridTextColumn Binding="{Binding PrestoRole}" Header="Role" Width="*"/>

我尝试了一些方法,但PrestoRole名称不会显示。如何将其显示?

在一个完全独立的表单上,我在一个列表框中列出了PrestoRole枚举的每个成员:

<ListBox Grid.Row="0" ItemsSource="{Binding Roles}" SelectedItem="{Binding SelectedRole}" Height="auto">

视图模型上的Roles属性如下所示:

public List<PrestoRole> Roles

枚举成员在那里显示得很好。我就是无法将其显示在DataGrid中。

显示数据网格中所选项目的枚举

这应该有效:

<DataGridTextColumn Binding="{Binding}" Header="Role" Width="*"/>

当您定义一列时,该列的DataContext被设置为每行的当前项,因此您所需要做的就是绑定到它。