wpf usercontrol的焦点问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf usercontrol的焦点问题相关的知识,希望对你有一定的参考价值。
我做了一个UserControl ,想要实现这样一个效果:
我new了3个UserControl放到一个stack里.被点击的UserControl会变长.
当点击了stack中的任意一个UserControl时,被点击的UserControl会变长,其他stack中未被点击的UserControl,如果之前被点击而变长,这一次就会还原.
换句话说,在这堆UserControl中最多只有一个UserControl会变长.
我想用焦点来实现,获得焦点的UserControl变长,失去焦点的就还原.
但是我在leftmousebuttondown事件调用了this.focus()后,获得了焦点,然后会马上失去焦点,焦点无法保持.现象就是在变长的瞬间会马上还原.
谁能告诉我wpf的焦点机制是怎么样的
Wpf UserControl使用 KeyBinding,失效问题
原文:Wpf UserControl使用 KeyBinding,失效问题
我的问题根源是UserControl未获取相应焦点,在UserControl后台添加如下
public AccountDetailView()
{
InitializeComponent();
this.IsEnabledChanged +=new DependencyPropertyChangedEventHandler(AccountDetailView_IsEnabledChanged);
}
private void control_detail_Loaded(object sender, RoutedEventArgs e)
{
tb_detail.Focusable = true;
Keyboard.Focus(this);
}
void AccountDetailView_IsEnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (!Convert.ToBoolean(e.NewValue)) return;
this.Focusable = true;
Keyboard.Focus(this);
}
以上是关于wpf usercontrol的焦点问题的主要内容,如果未能解决你的问题,请参考以下文章
WPF UserControl检测LostFocus忽略儿童
Wpf UserControl使用 KeyBinding,失效问题