https://blog.csdn.net/tiankong1213/article/details/88920995
尝试了一些教程,不好使。手写一个比较自由的示例:
先上效果图:(不知道怎么多了一行,欢迎指教)
xaml代码:
<Grid>
<Grid.Resources>
<!--Create list of enumeration values-->
<ObjectDataProvider x:Key="strList"
ObjectType="{x:Type local:OSList}"
MethodName="GetList"/>
</Grid.Resources>
<DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="下拉框测试"
SelectedItemBinding="{Binding sIdx}" ItemsSource="{Binding Source={StaticResource strList}}">
</DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
逻辑代码:
namespace DataBingTest
{
/// <summary>
/// DB_DataGrid.xaml 的交互逻辑
/// </summary>
public partial class DB_DataGrid : Window
{
public DB_DataGrid()
{
InitializeComponent();
List<Info> infoList = new List<Info>();
Info info02 = new Info();
info02.sIdx = "1";
infoList.Add(info02);
info02 = new Info();
info02.sIdx = "2";
infoList.Add(info02);
info02 = new Info();
info02.sIdx = "3";
infoList.Add(info02);
DG1.DataContext = infoList;
}
}
public class Info
{
public string sIdx { get; set; }
}
public class OSList
{
string[] txList = new string[] {"1" ,"2","3"};
public string[] GetList()
{
return this.txList;
}
}
}
参考:
1 微软教程:https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.datagridcomboboxcolumn?redirectedfrom=MSDN&view=netframework-4.7.2
2 https://blog.csdn.net/jiyanglin/article/details/83004460