Esempio n. 1
0
        protected override DataTemplate?SelectTemplateCore(object item, DependencyObject container)
        {
            BindableMessage message = (BindableMessage)item;

            return(message.Message.Type switch
            {
                MessageType.Default or MessageType.Reply => DefaultTemplate,

                MessageType.RecipientAdd or
                MessageType.RecipientRemove or
                MessageType.Call or
                MessageType.ChannelNameChange or
                MessageType.ChannelIconChange or
                MessageType.ChannelPinnedMessage or
                MessageType.GuildMemberJoin or
                MessageType.UserPremiumGuildSubscription or
                MessageType.UserPremiumGuildSubscriptionTier1 or
                MessageType.UserPremiumGuildSubscriptionTier2 or
                MessageType.UserPremiumGuildSubscriptionTier3 or
                MessageType.ChannelFollowAdd or
                MessageType.GuildDiscoveryDisqualified or
                MessageType.GuildDiscoveryRequalified or
                MessageType.GuildDiscoveryGracePeriodInitialWarning or
                MessageType.GuildDiscoveryGracePeriodFinalWarning or
                MessageType.ThreadCreated or
                MessageType.ApplicationCommand or
                MessageType.ThreadStarterMessage or
                MessageType.GuildInviteReminder or
                MessageType.ContextMenuCommand => InfoTemplate,

                _ => null,
            });
Esempio n. 2
0
 /// <summary>
 /// Scrolls <paramref name="e"/> into view.
 /// </summary>
 private void ViewModel_ScrollTo(object sender, BindableMessage e)
 {
     if (e != null)
     {
         MessageList.ScrollIntoView(e);
     }
 }
        public static string Convert(BindableMessage message)
        {
            string resource = message.Message.Type switch
            {
                MessageType.RecipientAdd => "InfoMessage/RecipientAdd",
                MessageType.RecipientRemove => "InfoMessage/RecipientRemove",
                MessageType.Call => "InfoMessage/Call",
                MessageType.ChannelNameChange => "InfoMessage/ChannelNameChange",
                MessageType.ChannelIconChange => "InfoMessage/ChannelIconChange",
                MessageType.ChannelPinnedMessage => "InfoMessage/ChannelPinnedMessage",
                MessageType.GuildMemberJoin => "InfoMessage/GuildMemberJoin",
                _ => "InfoMessage/Unknown",
            };

            string content = App.Current.Services.GetRequiredService <ILocalizationService>()[resource];

            content = content.Replace(@"{author}", $"<@{message.Author.User.Id}>");

            return(content);
        }