이전 프로젝트에서 작업 한 클래스가 있습니다.이 클래스는 WPF 응용 프로그램에서 사용할 수있는 모든 색상을 통해 반복되었습니다. 아래에 나와 있습니다.Silverlight에서 브러시로 반복하여 가능한 모든 색상을 얻으십시오.
public class ListOfColors
{
public List<ComboBoxItem> SelectableColours;
private PropertyInfo[] _propInfo;
public List<ComboBoxItem> GetListOfColours()
{
List<ComboBoxItem> SelectableColours = new List<ComboBoxItem>();
Type brushesType = typeof(Brushes);
PropertyInfo[] colors = brushesType.GetProperties();
_propInfo = colors;
foreach (var color in colors)
{
ComboBoxItem colour = new ComboBoxItem();
colour.Content = color.Name;
SelectableColours.Add(colour);
}
return SelectableColours;
}
}
이 내 WPF 응용 프로그램과 잘 작동하지만 지금은 실버 라이트 프로젝트에서 같은 일을 복제하는 것을 시도하고 있지만 using 지시문 또는 어셈블리 참조가 메신저를 말하고있다. System.Windows.Media
참조를 추가하려고 시도했지만 여전히 누락되었다고합니다.
누락 된 단계가 있습니까? 아니면 다시 다른 유형을 가져야합니까? Colors
을 유형으로 사용하려했지만 총 15 개의 제한된 수의 색상이 다시 나타납니다.
Type brushesType = typeof(Colors);
Silverlight에는'Brushes' 클래스가 없습니다. –
http://lotsacode.wordpress.com/2010/02/27/translating-c-brushes-to-silverlight-brushes/ – Khan
WPF의 경우 리플렉션을 사용할 필요가 없습니다. 'var allBrushes = Enum.GetValues (typeof (Brushes)) '를 사용할 수 있습니다. 캐스트();' –
Khan