When using StyleManager.Theme to set a theme for the control, the scroll does not get themed. When setting the theme for the whole application, the scroll is themed correctly.
To work this around, subscribe to the Loaded event of the RadChat control. Using the visual tree helpers, get the ScrollBar element with x:Name="PART_VerticalScrollBar" and set the theme for it using the StyleManager.SetTheme static method.
If the DataSource property is set before the MessageConverter property an ArgumentException is thrown. The error message is "Item cannot be converted to MessageBase".
To work this around, make sure that the MessageConverter property is set (and evaluated) before DataSource.
If you populate the RadChat control using its DataSource and then bind the CurrentAuthor property, the message from the current author don't use the correct color. This reproduces only if the CurrentAuthor binding is set after the DataSource binding.
Note that the title says that this happens when using the DataSource, but you can reproduce it also if simply add a message from an author different than the current one, and then change the CurrentAuthor to the one used for the message.
To resolve this change the order of the property bindings. The first one should be CurrentAuthor and then DataSource.<telerik:RadChat CurrentAuthor="{Binding MyCurrentAuthor}" DataSource="{Binding MyMessageSource}" />
Regardless of the current culture applied, the date shown on top of a group of message uses InvariantCulture (English). In comparison the time break date is formatted according to the culture.
This comes from a bug in WPF. https://stackoverflow.com/questions/520115/stringformat-localization-issues-in-wpf/520334#520334
To work this around, override the Language property metadata of FrameworkElement.
FrameworkElement.LanguageProperty.OverrideMetadata( typeof(FrameworkElement), new FrameworkPropertyMetadata( XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
This bug is related to the text shown on top of the message groups. The text shows the time + the author's name. For example: "12:30PM,John Doe".
Add a space between the time and the author's name. It should be "12:30PM, John Doe", instead of "12:30PM,John Doe".
this.Chat.AddMessage(new TextMessage(new Author(" John Doe"), "Hi", DateTime.Now.AddDays(-3)));
Dear Team,
I am facing issue with Chat Control. When I tried to change datasource of control, Messages in Chat UI does not reflect.
I have List of User in listbox. Each User has Observable collection of TextMessages. When User selection changed, I bind datasource to selected user messages. I assume that Chat control will update its UI by selected User messaged. But it is not working.
I tried to clear MessageListItems on selection change, and re-bind data source to selected user's messages. In this case Chat UI does not show any messages.
For reference I have uploaded my sample project on Google drive.
NullReferenceException is thrown when you hover chat messages. This happens when TouchManager.IsEnabled static property is set to False.
To work this around, keep the TouchManager enabled.
Hi,
Quick question on solution provided in the ticket : https://www.telerik.com/account/support-tickets/view-ticket/1464733 .
It looks like we would need to show few SuggestedAction in vertical and others in horizontal orientation. Is it possible to set the orientation value from chat control ?
Something like this ...
<ItemsPanelTemplate>
<VirtualizingStackPanel IsItemsHost="True" Orientation="{Binding RelativeSource={RelativeSource AncestorType={x:Type telerik:RadChat}},
Path=SuggestedActionOrientation}"/>
</ItemsPanelTemplate>