private UIElement CreateContainer(object item) { var picture = new ProfilePicture(); picture.IsEnabled = false; picture.Width = _itemSize; picture.Height = _itemSize; if (item is MessageSender sender) { RecentUserHeadChanged?.Invoke(picture, sender); } var borderBrush = new Binding(); borderBrush.Source = this; borderBrush.Path = new PropertyPath(nameof(BorderBrush)); var container = new Border(); container.Width = _itemSize + 4; container.Height = _itemSize + 4; container.VerticalAlignment = VerticalAlignment.Top; container.HorizontalAlignment = HorizontalAlignment.Left; container.BorderThickness = new Thickness(2); container.CornerRadius = new CornerRadius((_itemSize + 4) / 2); container.Child = picture; container.Tag = item; container.SetBinding(Border.BorderBrushProperty, borderBrush); return(container); }
private void RecentUsers_RecentUserHeadChanged(ProfilePicture sender, MessageSender messageSender) { if (_protoService.TryGetUser(messageSender, out User user)) { sender.SetUser(_protoService, user, 32); } else if (_protoService.TryGetChat(messageSender, out Chat chat)) { sender.SetChat(_protoService, chat, 32); } }
private void RecentUsers_RecentUserHeadChanged(ProfilePicture photo, MessageSender sender) { if (_protoService.TryGetUser(sender, out User user)) { photo.SetUser(_protoService, user, 32); } else if (_protoService.TryGetChat(sender, out Chat chat)) { photo.SetChat(_protoService, chat, 32); } else { photo.Source = null; } }