Telerik Forums
UI for WPF Forum
2 answers
122 views
Hello,



I'm sorry to leave so many questions.

Here's the question.

I'd like to find out if the point above the diagram is within the connection.

Other DiagramItems, such as Shape, could calculate to Shape.Bounds.Contains(point).

However, the connection is a line, so if you calculate it as Bounds, there is a problem that i can't measure properly.

I want to get a bool value for the point above the connection or, if possible, within an interval between 1 and 5 around the connection line.

Connection.Geometry has a different position value and connection.Geometry doesn't have been activated by fillcontains or stalkcontains.
seokhyun
Top achievements
Rank 1
Veteran
 answered on 26 Feb 2020
8 answers
167 views

Hello,

When setting the Layer property by code, it works as expected. But, when a layer is selected by the user, the Layer property doesn't change!

Vladimir Stoyanov
Telerik team
 answered on 25 Feb 2020
7 answers
583 views

Hello,

Typing characters with switching IME input mode will crash your RichTextBox sample application.
In 2017.2.614 the process is killed and in 2020.1.115 an exception is thrown.

Could you tell us a solution to this problem?
Also, do you plan to fix your components for this problem?

Reproduction steps:
1. Start editing rich text
2. Switch IME input mode to Hiragana
3. Switch IME input mode to AlphanumericHalfWidth
4. Enter "," (comma) by key operation
5. Switch IME input mode to Hiragana
6. Enter any characters by key operation
⇒ The application crashes

Exception information:
Value cannot be null.
Parameter name: insertIMETextCommandContext

 

Best regards,

Tanya
Telerik team
 answered on 25 Feb 2020
2 answers
468 views

Hello Admin,

I am now using RadCartesianChart's LineSeries to show tooltip. But when loading massive amount of data about 18866 record, UI becomes very slow to show tooltips and finally becomes freeze. Could you please help me how to solve this issue? Thanks.

 

Vladimir Stoyanov
Telerik team
 answered on 24 Feb 2020
3 answers
331 views

Hi,

I have troubles to set a implicit style to GridViewDataColumn.

 

For all grid view columns i want to set the style to without

- TextTrimming="CharacterEllipsis"

- TextWrapping="WrapWithOverflow"

 

I tried with  <Style TargetType="telerik:GridViewDataColumn" BasedOn="{StaticResource GridViewDataColumnStyle}">

 

Any suggestions?

Thank you in advance

Dinko | Tech Support Engineer
Telerik team
 answered on 24 Feb 2020
2 answers
2.0K+ views

Hello,

When I use a RadSplashScreen at the launch of my application, the application's main window doesn't receive focus and appears behind other windows. I've seen a reference to this type of behavior on another thread regarding RadWindow (https://www.telerik.com/forums/mainwindow-losts-focus-after-child-radwindow-is-closed), but the solution there doesn't seem applicable to this control.

I created a sample application (https://github.com/3milio/RadSplashScreenHidingMainWindow) with VS 2017 following your getting started guide. Mind trying it out and seeing if I'm missing a step? For me, when I hit F5 in the debugger to run it the splash screen appears on top of it but then when the main window gets instantiated it hides behind other programs.

Also, when I first cloned the repo and ran it in the debugger it didn't demonstrate this behavior. But any time after that, it did. That includes running it with the Release configuration, as well as simply running the .exe from Windows Explorer.

Thanks,

Emilio

Emilio
Top achievements
Rank 1
 answered on 22 Feb 2020
1 answer
182 views

Dear Developers,

Here's a code which exports a RadGridView:

```
private void grid1_ElementExported(object sender, GridViewElementExportedEventArgs e)
{
    if (e.Element == ExportElement.Row)
    {
        GetData_Result obj = e.Context as GetData_Result;
        if (obj != null)
        {
            e.Writer.Write(String.Format(@"<tr><td colspan=""{0}"">", grid1.Columns.Count));
            // Here's row details for row being exported
            e.Writer.Write("</td></tr>");
        }
    }
}

 

private void bExport_Click(object sender, RoutedEventArgs e)
{
    SaveFileDialog dialog = new SaveFileDialog()
    {
        DefaultExt = extension,
        Filter = String.Format("{1} files (*.{0})|*.{0}|All files (*.*)|*.*", "xls", "Excel"),
        FilterIndex = 1
    };
    if (dialog.ShowDialog() == true)
    {
        using (Stream stream = dialog.OpenFile())
        {
            grid1.Export(stream,
             new GridViewExportOptions()
             {
                 Format = ExportFormat.Html, // Is it possible to use another format in this situation?
                 ShowColumnHeaders = true,
                 ShowColumnFooters = true,
                 ShowGroupFooters = false
             });
        }

        Process.Start(new ProcessStartInfo(dialog.FileName));
    }
}
```

RowDetails is a DataTemplate which is filled by a method below when "+" button is clicked.

```

private void grid1_RowDetailsVisibilityChanged(object sender, Telerik.Windows.Controls.GridView.GridViewRowDetailsEventArgs e)
{
    if (e.Visibility != Visibility.Visible)
        return;

    GetDataD_Result data = e.Row.Item as GetDataD_Result;

    dvm = new DetailsViewModel(data.Id);
    e.DetailsElement.DataContext = dvm;
}

```

 

So, is possible to get an access to this DataTemplate of RwoDetails while exporting for each row?

Thank you!

 

Best regards

Dilyan Traykov
Telerik team
 answered on 20 Feb 2020
1 answer
279 views

Greetings,

I am trying to set the GridView style.

Need to set the Grid view Row and GridViewSelectColumn disabled as per the binding value. And at the same time need red background color for disabled row.

I am trying to achieve by applying style but it is now showing the expected result.

 

              <telerik:RadGridView.RowStyle>
                    <Style TargetType="telerik:GridViewRow">
                        <Setter Property="IsEnabled" Value="{Binding IsCheckboxEnabled }"></Setter>
                        <Setter Property="Background" Value="{Binding IsCheckboxEnabled, Converter={StaticResource BoolConverter}}"></Setter>
                    </Style>
                </telerik:RadGridView.RowStyle>

where IsCheckboxEnabled  is conditional value true/false with the help of which i want row to be disabled. And Background should be red.

Converter={StaticResource BoolConverter} is used to return new SolidColorBrush(Colors.Red);

But, it is not working as expected. Showing disabled rows only for alternate rows in the grid even if IsCheckboxEnabled is property assigned as false.

Not getting proper way to disable check box and disable row with red background.

Could you please advise here.

 

Thank you.

Dinko | Tech Support Engineer
Telerik team
 answered on 20 Feb 2020
14 answers
762 views
Hello,

I am currently using version 2011.3.1220.40 of the GridView control, and I have been receiving this exception at one of our client sites.  Unfortunately, this is something I have not been able to reproduce myself, nor am I getting adequate information about what the user is doing when it occurs.  I'm hoping this is something that someone has possibly seen before, or can identify from the stack trace.  I'm guessing it is something that is corrupt in their environment, and I have only seen this happen on two out of the ten machines they have in use, I'm hoping to be able to get more details about these specific machines soon.

Any help would be greatly appreciated.

=> System.Windows.Markup.XamlParseException: The invocation of the constructor on type 'Telerik.Windows.Controls.GridView.FrozenColumnsSplitter' that matches the specified binding constraints threw an exception. ---> System.IO.IOException: The file exists.

 

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

   at System.IO.__Error.WinIOError()

   at System.IO.Path.GetTempFileName()

   at System.Windows.Input.Cursor.LoadFromStream(Stream cursorStream)

   at System.Windows.Input.Cursor..ctor(Stream cursorStream)

   at Telerik.Windows.Controls.GridView.GridViewCursors.get_RefreezeCursor()

   at Telerik.Windows.Controls.GridView.FrozenColumnsSplitter..ctor()

   at System.Xaml.Schema.XamlTypeInvoker.DefaultCtorXamlActivator.InvokeDelegate(Action`1 action, Object argument)

   at System.Xaml.Schema.XamlTypeInvoker.DefaultCtorXamlActivator.CallCtorDelegate(XamlTypeInvoker type)

   at System.Xaml.Schema.XamlTypeInvoker.DefaultCtorXamlActivator.CreateInstance(XamlTypeInvoker type)

   at System.Xaml.Schema.XamlTypeInvoker.CreateInstance(Object[] arguments)

   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CreateInstanceWithCtor(XamlType xamlType, Object[] args)

   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CreateInstance(XamlType xamlType, Object[] args)

   --- End of inner exception stack trace ---

   at System.Windows.Markup.XamlReader.RewrapException(Exception e, Uri baseUri)

   at System.Windows.FrameworkTemplate.LoadTemplateXaml(XamlReader templateReader, XamlObjectWriter currentWriter)

   at System.Windows.FrameworkTemplate.LoadTemplateXaml(XamlObjectWriter objectWriter)

   at System.Windows.FrameworkTemplate.LoadOptimizedTemplateContent(DependencyObject container, IComponentConnector componentConnector, IStyleConnector styleConnector, List`1 affectedChildren, UncommonField`1 templatedNonFeChildrenField)

   at System.Windows.FrameworkTemplate.LoadContent(DependencyObject container, List`1 affectedChildren)

   at System.Windows.StyleHelper.ApplyTemplateContent(UncommonField`1 dataField, DependencyObject container, FrameworkElementFactory templateRoot, Int32 lastChildIndex, HybridDictionary childIndexFromChildID, FrameworkTemplate frameworkTemplate)

   at System.Windows.FrameworkTemplate.ApplyTemplateContent(UncommonField`1 templateDataField, FrameworkElement container)

   at System.Windows.FrameworkElement.ApplyTemplate()

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)

   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)

   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.Control.MeasureOverride(Size constraint)

   at Telerik.Windows.Controls.GridView.GridViewRowItem.MeasureOverride(Size constraint)

   at Telerik.Windows.Controls.GridView.GridViewHeaderRow.MeasureOverride(Size availableSize)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)

   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)

   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.ScrollViewer.MeasureOverride(Size constraint)

   at Telerik.Windows.Controls.GridView.GridViewScrollViewer.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)

   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)

   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.Border.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.Control.MeasureOverride(Size constraint)

   at Telerik.Windows.Controls.GridView.GridViewDataControl.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)

   at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)

   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)

   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.Border.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.Control.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)

   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)

   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)

   at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)

   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)

   at System.Windows.UIElement.Measure(Size availableSize)

   at System.Windows.ContextLayoutManager.UpdateLayout()

   at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)

   at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()

   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()

   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)

   at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)

   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

   at System.Windows.Threading.DispatcherOperation.InvokeImpl()

   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)

   at System.Threading.ExecutionContext.runTryCode(Object userData)

   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)

   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)

   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)

   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

   at System.Windows.Threading.DispatcherOperation.Invoke()

   at System.Windows.Threading.Dispatcher.ProcessQueue()

   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

   at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)

   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)

   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)

   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)

   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)

   at System.Windows.Application.RunDispatcher(Object ignore)

   at System.Windows.Application.RunInternal(Window window)

   at System.Windows.Application.Run(Window window)

   at APSSSentinel.App.Main()
Vladimir Stoyanov
Telerik team
 answered on 19 Feb 2020
1 answer
255 views

I am trying to get the telerik WPF controls to load during design time with the no binaries setup. I have managed to get the main window to show up once by linking directly to the theme dll, but that did not work for any of the modules. I am trying to get the structure of the application nailed down before we get deep into development, and having the theme/ui consistent is important.

 

The theme files are placed in core project and are referenced by the main application.

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:core="clr-namespace:Insight.Core">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/Insight.Core;component/Themes/FluentLight/System.Windows.xaml"/>
        <ResourceDictionary Source="/Insight.Core;component/Themes/FluentLight/Telerik.Windows.Controls.Data.xaml"/>
        <ResourceDictionary Source="/Insight.Core;component/Themes/FluentLight/Telerik.Windows.Controls.Docking.xaml"/>
        <ResourceDictionary Source="/Insight.Core;component/Themes/FluentLight/Telerik.Windows.Controls.GridView.xaml"/>
        <ResourceDictionary Source="/Insight.Core;component/Themes/FluentLight/Telerik.Windows.Controls.Input.xaml"/>
        <ResourceDictionary Source="/Insight.Core;component/Themes/FluentLight/Telerik.Windows.Controls.Navigation.xaml"/>
        <ResourceDictionary Source="/Insight.Core;component/Themes/FluentLight/Telerik.Windows.Controls.VirtualGrid.xaml"/>
        <ResourceDictionary Source="/Insight.Core;component/Themes/FluentLight/Telerik.Windows.Controls.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

The main app

<prism:PrismApplication x:Class="Insight.Shell.App" 
                        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
                        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
                        xmlns:prism="http://prismlibrary.com/" 
                        xmlns:views="clr-namespace:Insight.Shell.Views"
                        xmlns:srch="clr-namespace:Insight.Shell.Modules.ItemSearch.Navigation;assembly=Insight.Shell.Modules.ItemSearch"
                        xmlns:bom="clr-namespace:Insight.Shell.Modules.Bom.Navigation;assembly=Insight.Shell.Modules.Bom">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/Insight.Core;component/Themes/Generic.xaml"/>

 

                This set of instructions was for the linked theme binary

               <!--<ResourceDictionary Source="/Telerik.Windows.Themes.Fluent;component/Themes/Telerik.Windows.Data.xaml" />-->
                <ResourceDictionary Source="/Telerik.Windows.Themes.Fluent;component/Themes/Telerik.Windows.Controls.xaml" />
                <ResourceDictionary Source="/Telerik.Windows.Themes.Fluent;component/Themes/Telerik.Windows.Controls.Navigation.xaml" />-->

            </ResourceDictionary.MergedDictionaries>

            <Style TargetType="views:MainWindow" BasedOn="{StaticResource RadWindowStyle}" />
            <Style TargetType="srch:ItemSearchNavigationCommand" BasedOn="{StaticResource RadNavigationViewItemStyle}" />
            <Style TargetType="bom:BomNavigationCommand" BasedOn="{StaticResource RadNavigationViewItemStyle}" />
        </ResourceDictionary>
    </Application.Resources>
</prism:PrismApplication>

 

The application works correctly, and the theme is applied at run time, but during the design phase, the UI is not present at all and it makes the layout with the designer difficult if not impossible since you cant see any of the controls on the page.

 

Thanks for your help.

-Sean

Dilyan Traykov
Telerik team
 answered on 19 Feb 2020
Narrow your results
Selected tags
Tags
GridView
General Discussions
Chart
RichTextBox
Docking
ScheduleView
ChartView
TreeView
Diagram
Map
ComboBox
TreeListView
Window
RibbonView and RibbonWindow
PropertyGrid
DragAndDrop
TabControl
TileView
Carousel
DataForm
PDFViewer
MaskedInput (Numeric, DateTime, Text, Currency)
AutoCompleteBox
DatePicker
Buttons
ListBox
GanttView
PivotGrid
Spreadsheet
Gauges
NumericUpDown
PanelBar
DateTimePicker
DataFilter
Menu
ContextMenu
TimeLine
Calendar
Installer and Visual Studio Extensions
ImageEditor
BusyIndicator
Expander
Slider
TileList
PersistenceFramework
DataPager
Styling
TimeBar
OutlookBar
TransitionControl
Book
FileDialogs
ToolBar
ColorPicker
TimePicker
SyntaxEditor
MultiColumnComboBox
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
DesktopAlert
WatermarkTextBox
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
ProgressBar
Sparkline
LayoutControl
TabbedWindow
ToolTip
CloudUpload
ColorEditor
TreeMap and PivotMap
EntityFrameworkCoreDataSource (.Net Core)
HeatMap
Chat (Conversational UI)
VirtualizingWrapPanel
Calculator
NotifyIcon
TaskBoard
TimeSpanPicker
BulletGraph
Licensing
WebCam
CardView
DataBar
FilePathPicker
PasswordBox
Rating
SplashScreen
Accessibility
Callout
CollectionNavigator
Localization
AutoSuggestBox
VirtualKeyboard
HighlightTextBlock
Security
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?