我一直在尝试通过 getFocus 事件更改 WPF 应用程序中文本框的背景。在winforms中我做了类似的事情并且效果很好。
class Format_GUI
{
public void center_groupbox(Control cntrl, Form ms_form)
{
cntrl.Left = (ms_form.ClientSize.Width - cntrl.Width) / 2;
}
public void color_control(Control myControl)
{
Control inst_Control = new Control();
inst_Control = myControl;
inst_Control.BackColor = System.Drawing.ColorTranslator.FromHtml("#E55451");
}
}
然后我可以在 Enter 事件上调用类函数,如下所示:
private void txtTextBox1_Enter(object sender, EventArgs e)
{
myGUI.highlight_SelectedControl(txtTextBox1);
}
这在 WinForms 中工作得很好。有谁知道如何在 WPF 应用程序中完成此操作?
最佳答案
恕我直言,最好的方法是在 XAML 中使用触发器
<TextBox>
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="TextBox.IsFocused"
Value="True">
<Setter Property="TextBox.Background"
Value="#E55451" />
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
关于c# - 如何更改 getFocus 上的文本框背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34052229/