Windows 应用 SDK
一组 Microsoft 开源库、框架、组件和工具,可供各种应用使用,以便在多个版本的 Windows 上访问 Windows 平台功能。 以前称为 Project Reunion。
28 个问题
我有一个Gird,Grid中的每个元素都是一个TextBox。 我想要在TextBox收到焦点时,改变它的背景颜色。 我尝试在 GotFocus 事件中更改文本框的背景颜色。它的确改变了文本框的背景颜色,但当文本框有焦点时,背景颜色被默认的白色覆盖。
在上面的图片中中,我在 GotFocus 事件中更改了company 1 的背景颜色。但当它有焦点时,背景颜色被覆盖了。这是否与不透明度有关?
此问题由WinUI3: How to change color of child element of Grid when it receives focus 总结而来
你好,
欢迎来到微软问答!
使用事件 GotFocus
并不能达到您想要的效果。
建议您修改TextBox的样式。
您可以参考控件样式和模板来修改您需要修改的颜色属性(如TextControlBackgroundFocused
)。
设置样式请参考这篇文档 每个控件的样式设置。
<TextBox x:Name="TextBox1_1" Text="1-1" Grid.Row="0" Grid.Column="0" >
<TextBox.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light" >
<SolidColorBrush x:Key="TextControlForegroundPointerOver" Color="blue" />
<SolidColorBrush x:Key="TextControlBackgroundFocused" Color="Red" />
<SolidColorBrush x:Key="TextControlBorderBrush" Color="Yellow" />
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</TextBox.Resources>
</TextBox>
谢谢
---如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想收到该主题的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。