我正在实现一个用户控件,它有一个网格,其中再次包含一个带有按钮、文本块等的网格(可以说sampleGridItem)。sampleGridItem用后面的代码中的列表填充。 我的目标是当按下按钮时它将禁用该按钮直到按钮操作完成。然后它将再次启用相同的按钮。但问题是,当按钮被禁用时,它将焦点更改为下一个网格项。有什么办法可以避免这种焦点变化的情况吗?
这是示例代码,
<Grid>
<Grid x:Name="sampleGridItem>
<Button x:Name="SampleButton"
click="buttonClickEvent" />
<Textblock x:Name="SampleTextBlock"/>
</Grid>
</Grid>
In code behind
private void buttonClickEvent(object sender, RoutedEventArgs e)
{
SampleButton.IsEnabled = false;
// Do something
SampleButton.IsEnabled = true;
}
尝试将
TextBox
的 IsTabStop 设置为 false
:
private void Button_Click(object sender, RoutedEventArgs e)
{
SampleTextBox.IsTabStop = false;
SampleButton.IsEnabled = false;
// Do something...
SampleButton.IsEnabled = true;
SampleTextBox.IsTabStop = true;
}