public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (!(value is Log9KCore.LogEntryType)) { // Value is not an LogEntryType. Do not throw an exception // in the converter, but return something that is obviously wrong return(Brushes.Purple); } Log9KCore.LogEntryType type = (Log9KCore.LogEntryType)value; switch (type) { case Log9KCore.LogEntryType.INFO: return(Brushes.Black); case Log9KCore.LogEntryType.ERROR: return(Brushes.DarkRed); case Log9KCore.LogEntryType.CRITICAL_ERROR: return(Brushes.Red); case Log9KCore.LogEntryType.SUCCESS: return(Brushes.Green); case Log9KCore.LogEntryType.CODE_FLOW: return(Brushes.DarkGray); case Log9KCore.LogEntryType.CUSTOM: return(Brushes.CornflowerBlue); default: return(Brushes.Black); } }
/// <summary> /// Method that creates TabItem for Log9KTab and filling it with ui elements. /// </summary> /// <param name="log9KTab"></param> /// <returns></returns> private static TabItem CreateTabItem(Log9KTab log9KTab) { string name = log9KTab.TabName; Log9KCore.LogEntryType type = log9KTab.TabType; ObservableCollection <Log9KEntry> logEntryCollection = log9KTab.LogEntryCollection; TabItem tabItem = new TabItem { Header = name }; /* Header of Tab: text and icon */ StackPanel headerStackPanel = new StackPanel { Orientation = Orientation.Horizontal }; headerStackPanel.Children.Add(new TextBlock { Text = name, HorizontalAlignment = HorizontalAlignment.Left, Foreground = _typeToColorConverter.Convert(type) }); try { BitmapImage iconBitmapImage = new BitmapImage(IconForDefaultTabs(log9KTab)); Image icon = new Image { Source = iconBitmapImage, Width = ICON_WIDTH, Height = ICON_HEIGHT, HorizontalAlignment = HorizontalAlignment.Right }; headerStackPanel.Children.Add(icon); } catch (IOException) { Debug.WriteLine("Can't find icon for: " + name); } tabItem.Header = headerStackPanel; /*------------------------------------------------------------ */ /*------------------------------------------------------------ */ /* * <Style TargetType="DataGridRow"> * <Style.Triggers> * <DataTrigger Binding="{Binding Path=City_name}" Value="SomeCity"> * <Setter Property="Background" Value="{StaticResource SomeCityBackground}"/> * </DataTrigger> * </Style.Triggers> * </Style> */ return(tabItem); }
public Brush Convert(Log9KCore.LogEntryType type) { return((Brush)Convert(type, null, null, null)); }