Hi,
The radwindow does not show up unless I put Style
=
"{DynamicResource RadWindowStyle}".
May I ask where do I put theme for my radwindow?
And how do I change the radwindowstyle? It shows up the minimize, close button on the left side but I would want it to put on the right side of the window.
Hello,
In our app we are using filtering through a RadGridView bound to a QueryableCollectionView that wraps an ObservableCollection. Now I'm trying to use that filtered QueryableCollectionView as the ItemSource for a VisualizationLayer in a RadMap so that the filter on the grid also applies to items shown on the map, but the bind fails with the following error: "System.ArgumentException: 'Telerik.Windows.Data.QueryableCollectionView' is not a valid value for property 'Source'."
I've attached a quick project replicating the issue with the relevant code in MainWindow.xaml:
<!-- Doesn't work -->
<telerik:VisualizationLayer ItemsSource="{Binding ItemViewModelsView }" ItemSelectionMode="None">
<telerik:VisualizationLayer.ItemTemplate>
<DataTemplate DataType="{x:Type local:ItemViewModel}">
<Ellipse Fill="Blue" Width="12" Height="12" telerik:MapLayer.Location="{Binding Location}"/>
</DataTemplate>
</telerik:VisualizationLayer.ItemTemplate>
</telerik:VisualizationLayer>
<!-- Also doesn't work pulling directly from the GridView -->
<telerik:VisualizationLayer ItemsSource="{Binding Items, ElementName=GridView }" ItemSelectionMode="None">
<telerik:VisualizationLayer.ItemTemplate>
<DataTemplate DataType="{x:Type local:ItemViewModel}">
<Ellipse Fill="Blue" Width="12" Height="12" telerik:MapLayer.Location="{Binding Location}"/>
</DataTemplate>
</telerik:VisualizationLayer.ItemTemplate>
</telerik:VisualizationLayer>
<!-- Works but isn't filtered -->
<telerik:VisualizationLayer ItemsSource="{Binding ItemViewModels }" ItemSelectionMode="None">
<telerik:VisualizationLayer.ItemTemplate>
<DataTemplate DataType="{x:Type local:ItemViewModel}">
<Ellipse Fill="Blue" Width="12" Height="12" telerik:MapLayer.Location="{Binding Location}"/>
</DataTemplate>
</telerik:VisualizationLayer.ItemTemplate>
</telerik:VisualizationLayer>
and the ViewModel:
public partial class MainWindowViewModel : ObservableObject
{
[ObservableProperty] private ObservableCollection<ItemViewModel> _itemViewModels;
public QueryableCollectionView ItemViewModelsView { get; private set; }
//...
}
It appears to me that the issue is because QueryableCollectionView is both an IEnumerable and a ICollectionView so when it tries to assign it to the MapItemsSource the CollectionViewSource.IsSourceValid() that's called during that assignment is returning false because it is an ICollectionView.
Is there a known workaround for this or suggested alternative to get the expected functionality?
Thanks!
RadGridView, for WPF .NET Framework 4.8, automatically hides rows that do not match the filter/search criteria after a row has been edited. How does one prevent the auto-filtering/searching?
A very important workflow for our customers is to search / filter for outliers and then edit the found rows. After they finish editing, they don't want the row to automatically disappear because of the search / filter doesn't match the row after the edits.
The customer only wants to search / filter if they actually initiated the action. They do not want auto searching and filtering.
Hey Telerik Team,
I'm working with the RadRichTextEditor in WPF and ran into a little issue. When I switch my keyboard to Arabic, I was expecting to see Arabic digits (٠١٢٣٤٥), but instead, it still shows the standard Western numbers.
Is there a way to enable Arabic digits when typing in Arabic? I’ve looked around but haven’t had much luck so far. If there's a setting or a workaround that could help, I’d really appreciate any pointers!
using System.Globalization;
Console.OutputEncoding = System.Text.Encoding.UTF8;
CultureInfo arabicCulture = new CultureInfo("ar-AE");
arabicCulture.NumberFormat.DigitSubstitution = DigitShapes.NativeNational;
arabicCulture.NumberFormat.NativeDigits = ["٠", "١", "٢", "٣", "٤", "٥", "٦", "٧", "٨", "٩"];
//arabicCulture.CultureTypes = CultureTypes.
Thread.CurrentThread.CurrentCulture = arabicCulture;
Thread.CurrentThread.CurrentUICulture = arabicCulture;
int number = 12345;
Console.WriteLine(number.ToString(CultureInfo.CurrentCulture));
I'm using a RadChat in my project with a DataBinding to the ItemSource.
A MessageConverter creates either TextMessages or GifMessages. This all works fine.
The problem I have is that I want to add a TimeBreak to the top of the list, as I use the chat to store messages in my interface to view later, like a log. The first message can be in the past. And I want to know when this was.
My current solution is to always add one dummy message to the top of the pile, which has a DateTime: 2000-01-01
I've added a Style to my App.Xaml:
<Style BasedOn="{StaticResource InlineMessageControlStyle}" TargetType="conversationalUi:InlineMessageControl">
<EventSetter Event="Loaded" Handler="InlineMessageControl_OnLoaded" />
</Style>
This gives access to the loading of the InlineMessageControl. In which I look up the Message with the CreateAt of 2000-01-01. Like this:
private void InlineMessageControl_OnLoaded(object sender, RoutedEventArgs e)
{
try
{
if (sender is not InlineMessageControl inlineMessageControl) { return; }
//Hide first item, that is inserted manually to force a TimeBreak on the second
if (inlineMessageControl.DataContext is InlineViewModel { CreationDate.Year: 2000 })
{
if (inlineMessageControl.TryFindParent<MessageGroup>() is { } messageGroup)
{
messageGroup.Visibility = Visibility.Collapsed;
}
if (inlineMessageControl.TryFindParent<VirtualizingStackPanel>() is { } panel)
{
panel.Margin = new Thickness(0, -15, 0, 0);
}
}
}
The result can be seen in the PNG attachment. However, I think this method should not be necesarry, as the tool itself should be able to do this using a bool like: AddTimeBreakToTop or something.
I am aware that you can add the Messages manually, but this seems like a even worse solution.
Waht are you thoughts, Am I missing something? Can this be improved?
Second question would be. How do I style the background of the TextMessages?
Hello,
With the telerik:RadDocking the content of the tab that I open expect a specific parent Window (of type like WindowBase) with utilities, notification, modals, ...
Then I drag out one of the docking pane the parent window is a ToolWindow, is there a way to create a custom ToolWindow or wrap the content of a ToolWindow in a custom UserControl ?
Thanks you,
Hi there,
In the color editor, is there a mechanism to have alpha show as 0... 255 rather than as a percentage? Our users are accustomed to working with these colors as 4x byte values for consistency.
I don't think I see a setting similar to AlphaSettingsVisibility, but I thought I'd ask to see whether I've missed anything.
Thanks!
-David
There's an issue with the RadMultiColumnComboBox in that the inner text field is left aligned so if the user doesn't click exactly in the text box, then they can't type anything.
In the attached image, I set the border of the inner textbox to red just for a visual aid. If the user clicks anywhere inside the red border, then the field gets focus and they can type and everything works as expected. However, if they're not focused on that field and they try to click to the right of the red border, it does nothing and to the user, it feels buggy.
I tried setting the horizontal alignment of the text box to stretch, but that had no effect. Is there a fix for this?
I'm having an issue with the RadMultiColumnComboBox where it accepts returns, so it grows the field when it shouldn't. I tried this but it had no effect:
private void MultiColumnComboBox_Loaded(object sender, RoutedEventArgs e)
{
var textBox = MultiColumnComboBox.FindChildByType<TextBox>();
if (textBox != null)
{
textBox.AcceptsReturn = false;
textBox.AcceptsTab = false;
}
}
<!-- Main data grid -->
<telerik:RadGridView
Name="GridView"
Grid.Row="1"
Margin="3"
DataContext="{Binding Requests}"
ItemsSource="{Binding}"
ShowGroupPanel="False"
SelectionMode="Multiple"
SelectionUnit="FullRow"
>
<telerik:RadGridView.Columns>
<telerik:GridViewSelectColumn />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=Id}" Header="{DynamicResource 100314}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=Branch}" Header="{DynamicResource 100214}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=OperName}" Header="{DynamicResource 100315}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=OperRefer}" Header="{DynamicResource 100316}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=CrtUsr}" Header="{DynamicResource 100317}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=CrtDtm}" Header="{DynamicResource 100318}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=SndUsr}" Header="{DynamicResource 100319}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=SndDtm}" Header="{DynamicResource 100320}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=Status}" Header="{DynamicResource 100242}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=Remark}" Header="{DynamicResource 100114}" />
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=RetCode}" Header="{DynamicResource 100321}" />
</telerik:RadGridView.Columns>
<telerik:EventToCommandBehavior.EventBindings>
<!-- Scroll event (RowLoaded) -->
<telerik:EventBinding
Command="{Binding DataContext.ScrollCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"
EventName="RowLoaded"
PassEventArgsToCommand="True"
RaiseOnHandledEvents="True" />
</telerik:EventToCommandBehavior.EventBindings>
</telerik:RadGridView>