void CreateProfileTabs() { ProfileTab.Items.Clear(); var profiles = new List <Profile>(); foreach (var profile in Person.Profiles) { var channel = profile.SourceChannel; if (channel != null && channel.Charasteristics.SupportsProfiles) { // get channel icon var assembly = channel.GetType().Assembly; var resourceNameFormat = assembly.GetName().Name + ".Resources.icon-13.png"; BitmapSource image; using (var stream = assembly.GetManifestResourceStream(resourceNameFormat)) image = new PngBitmapDecoder(stream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad).Frames[0]; // Create profile control for hard profiles var control = new ChannelProfileControl(Person, profile, channel); var tabItem = new TabItem { Content = control, Icon = image, AllowDelete = false, Style = (Style)FindResource("PersonsSocialTabItem"), Header = ColorConverter.ConvertFromString(ChannelsManager.GetChannelColor(channel)), }; ProfileTab.Items.Add(tabItem); } else { profiles.Add(profile); } } // If we have soft profiles for this person show them if (profiles.Count > 0) { var control = new SoftProfilesControl(Person); ProfileTab.Items.Add(new TabItem { Content = control, Header = ColorConverter.ConvertFromString("#757677"), Icon = _Fallback, AllowDelete = false, Style = (Style)FindResource("PersonsOtherTabItem") }); control.Profiles.AddRange(profiles); } }