gpt4 book ai didi

c# - 以编程方式更改 WPF 可编辑组合框的背景颜色

转载 作者:行者123 更新时间:2023-11-30 14:50:38 25 4
gpt4 key购买 nike

我正在尝试使用代码在运行时动态更改可编辑的 ComboBox 的背景颜色。特别是,我想更改作为 ComboBox 一部分的可编辑 TextBox 的背景。

SO 上有几个关于这个的答案,比如这个:

WPF change the background color of an edittable combobox in code

但是,问题在于它们都基于 XAML 并编辑默认模板。我不想那样做,我正在寻找一种仅适用于代码的通用解决方案。

这可能吗?我尝试了看起来很明显的解决方案:

TextBox textBox = (TextBox)comboBox.Template.FindName("PART_EditableTextBox", comboBox);
textBox.Background = Brushes.Yellow;

但这绝对没有任何作用。我错过了什么?

最佳答案

你可以这样做

<ComboBox Loaded="MyCombo_OnLoaded"  x:Name="myCombo" IsEditable="True"></ComboBox>

private void MyCombo_OnLoaded(object sender, RoutedEventArgs e)
{
var textbox = (TextBox)myCombo.Template.FindName("PART_EditableTextBox", myCombo);
if (textbox!= null)
{
var parent = (Border)textbox.Parent;
parent.Background = Brushes.Yellow;
}
}

关于c# - 以编程方式更改 WPF 可编辑组合框的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36177619/

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