MVVM WPF 下DataGrid内容做成下拉框Combobox的模式

it2023-05-06  70

DataGrid代码 

<DataGrid Margin="1" ItemsSource="{Binding TagData,Mode=TwoWay}" AutoGenerateColumns="False" CanUserReorderColumns="False" CanUserSortColumns="False" SelectionMode="Single" CanUserAddRows="False"> <DataGrid.Columns> <DataGridComboBoxColumn Header="配线类型" Width="*" ItemsSource="{Binding Source={clocal:Enumeration {x:Type xlocal:WiringTypeEnum}}}" SelectedValueBinding="{Binding WiringType,Mode=TwoWay}" SelectedValuePath="Value" DisplayMemberPath="Value" ></DataGridComboBoxColumn> <DataGridTextColumn Header="配线起始里程" Width="*" Binding="{Binding StartMileageWiring}"></DataGridTextColumn> <DataGridTextColumn Header="配线终点里程" Width="*" Binding="{Binding EndMileageWiring}"></DataGridTextColumn> </DataGrid.Columns> </DataGrid>

其中 下拉框数据列

<DataGridComboBoxColumn Header="配线类型" Width="*" ItemsSource="{Binding Source={clocal:Enumeration {x:Type xlocal:WiringTypeEnum}}}" SelectedValueBinding="{Binding WiringType,Mode=TwoWay}" SelectedValuePath="Value" DisplayMemberPath="Value" ></DataGridComboBoxColumn>

其中需要引用到

xmlns:clocal="clr-namespace:GDTH.RevitPluginForRailTraffic.View.Converter" xmlns:xlocal="clr-namespace:GDTH.RevitPluginForRailTraffic.Model.OverallUnit;assembly=GDTH.RevitPluginForRailTraffic.Model"

clocal 、xlocal这两个引用都是自己后来加的

 

xlocal里指向枚举类型的地址

/// <summary> /// 配线类型 /// </summary> public enum WiringTypeEnum { 配线, 停车线 }

效果图

最新回复(0)