UIElement.Focus()不起作用,为什么?

时间:2013-08-01 02:50:04

标签: wpf button click focus

我的WPF窗口有ButtonListView。在Button的点击事件中,它具有以下代码。

private void myButton1_Click(object sender, RoutedEventArgs e)
{
    ListViewItem lvi = new ListViewItem()
    {
        Content = "Hello",
        Focusable = true,
        IsEnabled = true
    };
    this.listView1.Items.Add(lvi);
    lvi.Focus();
}

问题是,在用户点击lvi(ListViewItem)后,焦点无法移至Button。代码lvi.Focus()没有任何影响。有人能告诉我它为什么会发生,我该如何解决?

更新

找到解决方案。调用此代码,否则按钮仍会捕获焦点。

this.Dispatcher.BeginInvoke(new Action(() => lvi.Focus()), System.Windows.Threading.DispatcherPriority.Input);

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

ListViewItem lvi = new ListViewItem();
lvi.IsSelected = true;

希望有所帮助;)