gpt4 book ai didi

wpf - 如何更改应用程序中所有文本框的前景色

转载 作者:行者123 更新时间:2023-12-04 02:24:26 28 4
gpt4 key购买 nike

在我的应用程序 (C# WPF) 中,我在更多网格中有大约 30 或 40 个文本框,我想循环更改它们的前景色。我使用下面的代码并且它有效。但我想将它用于整个项目,而不仅仅是混凝土网格

xaml 代码

<grid x:Name"stk">
.... some textBoxes ...
</grid>

*.cs代码

foreach (TextBox item in this.stk.Children.OfType<TextBox>())
{
if (item.Name.StartsWith("txt"))
item.Foreground = Brushes.Orange;
}

因此,当我有更多网格时,我必须将 x:Name="..." 放入每个网格中,这意味着更多的 foreach 循环。

最佳答案

更简单的方法

定义一个样式,将 TargetType 设置为 Textbox 并且没有 Key。这样,此样式将应用于应用程序中的所有文本框,而无需为每个文本框绑定(bind)样式或前景。

<Application.Resources>
<SolidColorBrush Color="Red" x:Key="txtColor" />

<Style TargetType="TextBox">
<Setter Property="Foreground" Value="{DynamicResource txtColor}" />
</Style>
</Application.Resources>

更改前景色。

private void Button_Click(object sender, RoutedEventArgs e)
{
if (Application.Current.Resources.Contains("txtColor"))
{
Application.Current.Resources["txtColor"] = new SolidColorBrush(Colors.Blue);
}
}

关于wpf - 如何更改应用程序中所有文本框的前景色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24280994/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com