gpt4 book ai didi

c# - 使用 ComboBoxItem 文本作为 Property Setter 的值

转载 作者:太空宇宙 更新时间:2023-11-03 22:24:32 26 4
gpt4 key购买 nike

大家好!这是交易...

我在窗口中定义了一个 ComboBox。此组合框的内容只是一个字符串列表,其中包含 Brushes 类中的所有值。到目前为止没有什么特别的......

但我想要实现的是一种在用户更改颜色时更改组合框背景颜色的方法。颜色将是列表中选择的值。

我正在阅读触发器和 setter ,但我仍然不知道该怎么做。

(顺便说一句,我已经有一个转换器可以在有效的画笔中转换字符串。)

<ComboBox Name="cmbColor" >
<ComboBox.Triggers >
<Trigger Property="SelectedIndex" > // <- Pseudocode!
<Setter Property = "Foreground" Value="select_value_in_combo,Converter={StaticResource ColorConverter}"/>
</Trigger>
</ComboBox.Triggers>
</ComboBox>

想法?

谢谢!

最佳答案

您可以简单地使用数据绑定(bind)来解决这个问题:

<Window x:Class="ComboBoxBackgroundSpike.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ComboBoxBackgroundSpike"
Title="Window1" Height="300" Width="300">
<Grid>
<Grid.Resources>
<local:StringToBrushConverter x:Key="StringToBrush"/>
</Grid.Resources>
<ComboBox Background="{Binding RelativeSource={RelativeSource Self},
Path=SelectedValue,
Converter={StaticResource StringToBrush}}"
ItemsSource="{Binding}">
</ComboBox>
</Grid>
</Window>

关于c# - 使用 ComboBoxItem 文本作为 Property Setter 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1876330/

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