- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将键盘焦点设置为包含在堆栈面板中的文本框。当 IsEditMode 变为 true 时,我希望文本框默认成为焦点。
我试过这个代码:
<DataTemplate x:Key="LibraryItemTemplate">
<StackPanel Orientation="Vertical">
<StackPanel.Style>
<Style TargetType="StackPanel">
<Style.Triggers>
<DataTrigger Binding="{Binding IsEditMode}" Value="True">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=TxtB}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
<TextBlock x:Name="TxtA" Text="A" />
<TextBox x:Name="TxtB" Text="B" Visibility="{Binding IsEditMode, Converter={StaticResource BoolVisibilityCollapsed}}"/>
</StackPanel>
</DataTemplate>
....
<ListView x:Name="LibraryListView" SelectedItem="{Binding SelectedItem, UpdateSourceTrigger=PropertyChanged}" >
<ListView.View>
<GridView>
<GridViewColumn CellTemplate="{StaticResource LibraryItemTemplate}" Width="Auto"/>
</GridView>
</ListView.View>
最佳答案
在 FocusManager 设置焦点后,您必须处理此事件,并且在必须添加的事件中
<TextBox x:Name="TxtB"
Text="B"
GotFocus="TxtB_GotFocus"
Visibility="{Binding IsEditMode
, Converter={StaticResource BoolVisibilityCollapsed}}"/>
....
private void TxtB_GotFocus(object sender, RoutedEventArgs e)
{
this.Dispatcher.BeginInvoke((Action)delegate
{
Keyboard.Focus(TxtB);
}, DispatcherPriority.Render);
}
关于wpf - 使用 FocusManager.FocusedElement 问题的焦点文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17980224/
我使用 Prism 和 MVVM 创建了一个基本应用程序。到目前为止,它仅由 Shell 和一个 View/ViewModel 组成。 在应用程序加载过程中,我将 View 加载到我的主要区域中并显示
我使用绑定(bind)将 FocusManager.FocusedElement 作为参数传递。
我有如下的 WPF xaml 代码: 如何将 FocusedElement 绑定(bind)到 ViewModel 中的属性? 类似的代码如下: Switch
我有如下的 WPF xaml 代码: 如何将 FocusedElement 绑定(bind)到 ViewModel 中的属性? 类似的代码如下: Switch
我正在尝试将键盘焦点设置为包含在堆栈面板中的文本框。当 IsEditMode 变为 true 时,我希望文本框默认成为焦点。 我试过这个代码:
Keyboard.FocusedElement 给出具有键盘焦点的元素。但是它没有二传手。我想通过代码将此属性设置为另一个元素。有办法吗? 关于 microsoft's site ,它是这样说的:“键
我有几个数据网格的应用程序并导出到 excel 命令,它将焦点数据网格作为命令参数。是否可以将 CommandParameter 绑定(bind)到 FocusManager.FocusedEleme
我想要一个始终绑定(bind)到当前焦点控件的属性。 我见过两种获取当前焦点控件的方法。 一个是使用 Keyboard.FocusedElement。第二个是遍历可视化树。 因为我想知道每次焦点元素发
我有一个自定义 RoutedUICommand MyCommand 通过 ICommand.Execute 执行.顶部窗口有一个绑定(bind)来处理它: 这是此命令的唯一处理程序。我还
我是一名优秀的程序员,十分优秀!