Есть простая форма редактирования с одним полем ввода TextEdit
и 2 кнопками Button
(подтвердить/отменить); при запуске формы хотелось бы получить фокус в поле ввода TextEdit
и выделение его содержимого (для быстрой замены с клавиатуры, без выделения вручную) путём предварительного задания свойств IsEnabled="True" Focusable="True" SelectAllOnGotFocus="True"
и пытаюсь выставить фокус в коде C#:
var focus = textEdit.Focus();//фокус на контролл -- как показала отладка, вернёт false сразу же
textEdit.SelectAll();//дополнительно, выбрать всё содержимое принудительно
и почему-то ничего из этого не сработает: фокус не встаёт на TextEdit
, выделение никаким образом не происходит, даже принудительно (а значение там есть, как минимум 0 по умолчанию) :(
сброс/задание свойства IsDefault
кнопки Button
не влияют на отсутствие ожидаемого фокуса/выделения в TextEdit
.
XAML:
<Grid>
<Layout:LayoutControl Layout:DockLayoutControl.Dock="Client" Padding="0" dxe:ValidationService.IsValidationContainer="True" Name="validateContainer">
<Layout:LayoutGroup Orientation="Vertical" ItemSpace="10" View="GroupBox" Header="{Binding NameGroup}"
Name="GroupMain" HeaderTemplate="{StaticResource GroupMainHeader}"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch" >
<Layout:LayoutGroup Orientation="Horizontal">
<dxe:TextEdit
Name="textEdit"
Validate="TextEdit_Validate"
HorizontalContentAlignment="Right"
InvalidValueBehavior="AllowLeaveEditor"
MaskType="Numeric"
MaskUseAsDisplayFormat="False"
MaskSaveLiteral="False"
MaskBeepOnError="True"
IsEnabled="True" Focusable="True" SelectAllOnGotFocus="True" AllowSpinOnMouseWheel="False"
/>
</Layout:LayoutGroup>
<Layout:LayoutGroup Orientation="Horizontal">
<Button MinWidth="100" HorizontalAlignment="Left" Name="btnEnter" Click="BtnEnterClick" VerticalAlignment="Center" IsDefault="True" >
</Button>
<Button Name="btnClose" HorizontalAlignment="Right" Click="BtnCloseClick" VerticalAlignment="Center">
</Button>
</Layout:LayoutGroup>
</Layout:LayoutGroup>
</Layout:LayoutControl>
</Grid>
Как заставить TextEdit
выделять текст в своём содержимом ?
вам нужно задать FocusBehavior для вашего контрола
<TextBox Text="This control is focused on startup">
<dxmvvm:Interaction.Behaviors>
<dxmvvm:FocusBehavior/>
</dxmvvm:Interaction.Behaviors>
</TextBox>
подробнее можете почитать в документации
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Надо вывести "Меню" <li> в код через PHPСмысл в том, чтобы не повторять одну и тоже строку <li>, а сократить 8 строк в 1 php вывод
При выполнении данного кода возникает ошибка в последней строке