Completed
Last Updated: 20 Jun 2022 07:29 by ADMIN
Release 2.1.0
Martin Ivanov
Created on: 06 Apr 2022 20:48
Category: DataGrid
Type: Feature Request
0
DataGrid: Add localization support for the Save and Cancel buttons in the inline editor

Currently, the Save and Cancel words in the inline editor buttons are using hardcoded strings. Add LocalizationManager support in order to allow easier customization when translating the application.

In the meantime, you can achieve this effect by extracting the templates of the buttons and replace the hardoced text with LocalizationManager. 

<Application
    x:Class="TelerikWinUIApp7.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:localPrimitives="using:Telerik.UI.Xaml.Controls.Grid.Primitives"
     xmlns:primitivesCommon="using:Telerik.UI.Xaml.Controls.Primitives.Common"
    xmlns:core="using:Telerik.Core"
    xmlns:local="using:TelerikWinUIApp7">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
                <!-- Other merged dictionaries here -->
                <ResourceDictionary Source="ms-appx:///Telerik.WinUI.Controls/Themes/Generic.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            <!-- Other app resources here -->
            <Style TargetType="localPrimitives:DataGridEditRow">
                <Setter Property="CommitButtonStyle">
                    <Setter.Value>
                        <Style TargetType="primitivesCommon:InlineButton" BasedOn="{StaticResource EditRowButtonBaseStyle}">
                            <Setter Property="BorderThickness" Value="1 1 0 1" />
                            <Setter Property="ContentTemplate">
                                <Setter.Value>
                                    <DataTemplate>
                                        <StackPanel Orientation="Horizontal">
                                            <TextBlock Text="&#xe73e;"
                                               FontFamily="{ThemeResource SymbolThemeFontFamily}"
                                               VerticalAlignment="Center"
                                               Margin="15 0 0 0"/>
                                            <TextBlock core:LocalizationManager.Key="Save"
                                                       core:LocalizationManager.PropertyName="Text" Margin="8 0 15 0"/>
                                        </StackPanel>
                                    </DataTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>
                    </Setter.Value>
                </Setter>
                <Setter Property="CancelButtonStyle">
                    <Setter.Value>
                        <Style TargetType="primitivesCommon:InlineButton" BasedOn="{StaticResource EditRowButtonBaseStyle}">
                            <Setter Property="BorderThickness" Value="0 1 1 1" />
                            <Setter Property="ContentTemplate">
                                <Setter.Value>
                                    <DataTemplate>
                                        <StackPanel Orientation="Horizontal">
                                            <TextBlock Text="&#xe711;"
                                               FontFamily="{ThemeResource SymbolThemeFontFamily}"
                                               VerticalAlignment="Center"
                                               Margin="15 0 8 0"/>
                                            <TextBlock core:LocalizationManager.Key="Cancel"
                                                       core:LocalizationManager.PropertyName="Text" Margin="0 0 15 0" VerticalAlignment="Center"/>
                                        </StackPanel>
                                    </DataTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>
                    </Setter.Value>
                </Setter>
            </Style>
        </ResourceDictionary>
    </Application.Resources>
</Application>

0 comments