Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
305
XamTextEditor Enter Shortcut Key Issue
posted

Hello,

We have a XamTextEditor which resides in a grid. On that window we have a command bound 'enter' shortcut key. But for some reason first 'enter' key is being absorbed by XamEditor. When you hit enter again it calls the command. We switch to WPF's TextBox as a workaround right now. (2012.2 June Service Version).

Window x:Class="TestClass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowStartupLocation="CenterScreen" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:editors="clr-namespace:NorthPoint.FormPf.Common.UI.Wpf.Controls.Editors"
SizeToContent="WidthAndHeight" Title="{Binding Title}" ResizeMode="NoResize">
<Window.InputBindings>
<KeyBinding Key="Escape" Command="{Binding CloseCommand}" />
<KeyBinding Key="Enter" Command="{Binding SearchCommand}" />
</Window.InputBindings>
<Grid>
<Grid.ColumnDefinitions >
<ColumnDefinition Width="330"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="10"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>

<Border Background="{StaticResource ToolBarFill}"/>
<TextBlock Grid.Row="0" Text="Search Data" VerticalAlignment="Center" Margin="5,0,0,3" FontSize="{StaticResource WindowTitleFontSize}" FontWeight="Bold" Foreground="{StaticResource WindowTitleForeground}" />

<ItemsControl Grid.Row="2" ItemsSource="{Binding DataPredicates}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions >
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="175"/>
</Grid.ColumnDefinitions>
<Label Content="{Binding Label, StringFormat= '\{0\}'}"/>

<ig:XamTextEditor Height="auto"
Width="auto"
Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type EditorBase}}, Path=Value, ValidatesOnDataErrors=True}"
InvalidValueBehavior="RevertValue"
IsTabStop="True"
Background="White"
IsReadOnly="{Binding Path=IsBool, Converter={StaticResource boolConverter}, RelativeSource={RelativeSource AncestorType={x:Type Controls:IHaveSmth}}}">
</ig:XamTextEditor>


</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Window>

Parents
No Data
Reply
  • 34510
    Offline posted

    Hi Murat,

    The enter key is handled by the XamTextEditor so it's not going to bubble up to the window and trigger the key binding.  To workaround this you'll need to handle the PreviewKeyDown event on the Window and execute the appropriate key bindings manually.  I've attached an example that uses an attached behavior which makes this mvvm friendly.

    WpfApplication1.zip
Children