내 콤보 박스를 그리는 데 도움이 필요합니다. 따기를위한 색상 콤보 박스를 만들고 싶습니다. 인터넷에서 물건을 발견했지만 아무도 일하고 있지 않습니다. 지금까지이있다 :Combobox로 C# Wpf 그리기
private void MyComb_DrawItem(object sender, DrawItemEventArgs e)
{
Graphics g = e.Graphics;
System.Drawing.Rectangle rect = e.Bounds;
ColorConverter converter = new ColorConverter();
if (e.Index >= 0)
{
string n = ((ComboBox)sender).Items[e.Index].ToString();
System.Drawing.Color c = (System.Drawing.Color)converter.ConvertFromString(n);
SolidBrush b = new SolidBrush(c);
g.FillRectangle(b, rect.X + 110, rect.Y + 5,
rect.Width - 10, rect.Height - 10);
}
}
이 내 drawItem 방법
<Grid>
<ComboBox x:Name="MyComb" HorizontalAlignment="Left" Margin="66,81,0,0" VerticalAlignment="Top" Width="120" />
</Grid>
입니다 이것은 내가 색 이름 콤보를 작성하고
Type colorType = typeof(System.Drawing.Color);
PropertyInfo[] propInfoList = colorType.GetProperties(BindingFlags.Static |
BindingFlags.DeclaredOnly | BindingFlags.Public);
foreach (PropertyInfo c in propInfoList)
{
MyComb.Items.Add(c.Name);
}
그리고 여기에 콤보 상자의 정의는 다음 내가 원하는 색상 이름에 따라 실제 색상으로 combox 채우기 위해 ..하지만 내 무승부 항목 메서드는 호출되지 않습니다. 일부 DrawItem 핸들러를 만들려고했지만 내 콤보 상자에는 그런 것이 없습니다 ... 그런 다음 콤보 상자의 DrawMode 속성 설정에 대한 내용을 읽었지 만 내 콤보 상자는 그 종류의 속성을 전혀 사용하지 않습니다 ... 인터넷을 사용하고 있습니다. framework v.4.6.1 아무에게도 말해 줄 수 있습니까? 내가 무엇을 놓치고 있습니까?
당신이 데있어 가장 큰 문제는 당신이 WPF API를 사용하는 경우에도 당신은 윈폼 API 용으로 작성된 코드 예제를 사용하려는 것입니다
이 코드는 WinForm을 사용하고 있습니다. –