or
<
telerik:RadGridView
x:Name
=
"PersonInCharge"
Margin
=
"5,5,5,0"
Height
=
"100"
ShowGroupPanel
=
"False"
AutoGenerateColumns
=
"False"
ItemsSource
=
"{Binding Path=PersonInCharge}"
CanUserInsertRows
=
"True"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewComboBoxColumn
x:Name
=
"cbPersonInCharge"
Header
=
"Person In Charge"
UniqueName
=
"PersonInCharge"
EditTriggers
=
"CellClick"
ItemsSource
=
"{Binding Path=PeopleList}"
DataMemberBinding
=
"{Binding Person}"
SelectedValueMemberPath
=
"PeopleList/Person.ID}"
>
<
telerik:GridViewComboBoxColumn.EditorStyle
>
</
telerik:GridViewComboBoxColumn.EditorStyle
>
<
telerik:GridViewComboBoxColumn.CellTemplate
>
<
DataTemplate
>
<
StackPanel
>
<
TextBlock
Text
=
"{Binding Path=FirstName}"
/>
<
TextBlock
Text
=
"{Binding Path=LastName}"
/>
</
StackPanel
>
</
DataTemplate
>
</
telerik:GridViewComboBoxColumn.CellTemplate
>
<
telerik:GridViewComboBoxColumn.ItemTemplate
>
<
DataTemplate
>
<
StackPanel
>
<
TextBlock
Text
=
"{Binding Path=FirstName}"
/>
<
TextBlock
Text
=
"{Binding Path=LastName}"
/>
</
StackPanel
>
</
DataTemplate
>
</
telerik:GridViewComboBoxColumn.ItemTemplate
>
</
telerik:GridViewComboBoxColumn
>
<
telerik:GridViewDataColumn
Name
=
"TargetPercentOfAccountMarketValue"
Header
=
"% Of Total"
Width="75" HeaderCellStyle="{StaticResource columnHeaderStyle}"
CellStyle="{StaticResource whatIfCell}"
DisplayIndex="8" EditTriggers="CellClick,TextInput"
IsReadOnlyBinding="{Binding NodeType, Converter={StaticResource nodeTypeToIsReadOnlyConverter}}"
ColumnGroupName="WhatIfAllocation">
<
telerik:GridViewDataColumn.CellTemplate
>
<
DataTemplate
>
<
TextBlock
Text
=
"{Binding Node.TargetPercentOfAccountMarketValue, StringFormat={}{0:P1}}"
Foreground="{Binding Node.TargetPercentOfAccountMarketValue, Converter={StaticResource negativeColorFormatter}, UpdateSourceTrigger=PropertyChanged}">
</
TextBlock
>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellTemplate
>
<
telerik:GridViewDataColumn.CellEditTemplate
>
<
DataTemplate
>
<
TextBox
BorderBrush
=
"Transparent"
BorderThickness
=
"1"
Text
=
"{Binding Node.TargetPercentOfAccountMarketValue, Converter={StaticResource StringToPercentageConverter}, StringFormat={}{0:N2}}"
Background
=
"Transparent"
Foreground="{Binding Node.TargetPercentOfAccountMarketValue, Converter={StaticResource negativeColorFormatter}}"/><
br
>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellEditTemplate
>
</
telerik:GridViewDataColumn
>
<Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="1*" /> </Grid.ColumnDefinitions> <TextBox Grid.Column="1" Text="{Binding Code}" Margin="10" VerticalScrollBarVisibility="Auto"/> <StackPanel Margin="10"> <!-- TODO Put here all Telerik Controls to Localize--> <telerik:RadTreeView /> <telerik:RadGridView /> </StackPanel> </Grid>
public partial class MainWindow : Window { private readonly MainWindowViewModel _mainWindowViewModel; public MainWindow() { _mainWindowViewModel = new MainWindowViewModel(); LocalizationManager.Manager = new CustomLocalizationManager(_mainWindowViewModel); InitializeComponent(); DataContext = _mainWindowViewModel; } }
public class MainWindowViewModel { public string Code { get; set; } }
public class CustomLocalizationManager : LocalizationManager { private readonly MainWindowViewModel _mainWindowViewModel; public CustomLocalizationManager(MainWindowViewModel mainWindowViewModel) { _mainWindowViewModel = mainWindowViewModel; } public override string GetStringOverride(string key) { var defaultText = base.GetStringOverride(key); _mainWindowViewModel.Code += GenerateCode(key, defaultText); return defaultText; } private static string GenerateCode(string key, string ret) { //TODO Change this line to get the Code you need return string.Format(" case \"{0}\": return \"{1}\";{2}", key, ret, Environment.NewLine); } }
<
HierarchicalDataTemplate
x:Key
=
"GroupHeaderTemplate"
ItemsSource
=
"{Binding Buttons}"
DataType
=
"{x:Type Menu:GroupViewModel}"
ItemTemplateSelector
=
"{StaticResource groupsSelector}"
>
<
TextBlock
Text
=
"{Binding Text}"
/>
</
HierarchicalDataTemplate
>
<
HierarchicalDataTemplate
x:Key
=
"TabTemplate"
DataType
=
"{x:Type Menu:TabViewModel}"
ItemsSource
=
"{Binding Groups}"
ItemTemplate
=
"{StaticResource GroupHeaderTemplate}"
>
<
HierarchicalDataTemplate.ItemContainerStyle
>
<!-- This works and AccessText binds to GroupViewModel.AccessText -->
<
Style
TargetType
=
"{x:Type telerik:RadRibbonGroup}"
>
<
Setter
Property
=
"telerik:KeyTipService.AccessText"
Value
=
"{Binding AccessText}"
/>
</
Style
>
</
HierarchicalDataTemplate.ItemContainerStyle
>
<
TextBlock
Text
=
"{Binding Text}"
/>
</
HierarchicalDataTemplate
>
<
telerik:RadRibbonView
x:Name
=
"ribbonView"
ApplicationButtonVisibility
=
"Collapsed"
VerticalAlignment
=
"Top"
ItemTemplate
=
"{StaticResource TabTemplate}"
ItemsSource
=
"{Binding Tabs}"
Title
=
"{Binding Title}"
SelectedItem
=
"{Binding SelectedTab, Mode=TwoWay}"
telerik:KeyTipService.IsKeyTipsEnabled
=
"true"
telerik:KeyTipService.AccessKey
=
"ALT"
>
<
telerik:RadRibbonView.QuickAccessToolBar
>
<
telerik:QuickAccessToolBar
ItemsSource
=
"{Binding QuickAccessItems}"
ItemTemplate
=
"{StaticResource ButtonTemplate}"
/>
</
telerik:RadRibbonView.QuickAccessToolBar
>
<
telerik:RadRibbonView.ItemContainerStyle
>
<!-- This style seems to affect all containers, tabs, groups and buttons -->
<
Style
>
<
Setter
Property
=
"telerik:KeyTipService.AccessText"
Value
=
"{Binding AccessText}"
/>
</
Style
>
</
telerik:RadRibbonView.ItemContainerStyle
>
</
telerik:RadRibbonView
>