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();
在 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();