WPF 不确定如何在动态创建的堆栈面板中更改文本框的背景

WPF Not sure how to change background of textbox in dynamically created stackpanel

在 WPF 项目中,我有一个堆栈面板...

<StackPanel Name="spOptionsValue" Orientation="Vertical" Visibility="Collapsed" Margin="10 0 0 0"  KeyUp="SaveTestOptionsInXMLData2"></StackPanel>

我将值动态加载到...

spOptionsValue.Children.Add(new TextBox { Text = attributeChild.Value, Height = 26, Name = "tbTestAttributeValue" });

如果我发现此文本框的值有错误(在用户更改后),如何将背景设置为红色并将焦点放在此文本框上?

当我尝试类似 spOptionsValue.Children[loopIndex - 3] = Brushes.Red; 的操作时,我收到编译器错误“无法将类型 System.Windows.Media.SolidColorBrush 隐式转换为 System.Windows.UIElement。我还尝试在没有祝你好运。如有任何建议,我们将不胜感激!

尝试

((Control)spOptionsValue.Children[loopIndex - 3]).Background = Brushes.Red

演员表是必要的,因为 UIElement 没有背景 属性。

至于焦点,你会用:

((Control)spOptionsValue.Children[loopIndex - 3]).Focus();