gpt4 book ai didi

c# - 如何更改文本 block 背景?

转载 作者:太空狗 更新时间:2023-10-29 21:39:03 26 4
gpt4 key购买 nike

这是我的xaml结构

<stackpanel>
<textblock Text="A"></textblock>
<textblock Text="B"></textblock>
</stackpanel>

Stackpanel,它可以循环生成更多相同的结构。

如何在单击时更改 texblock 的背景颜色?

更新:我只想更改不使用 C# 的 xaml 文件。

默认我是黄色的,但是当我点击一个文本 block 时,它的背景会变成蓝色。

更新 2:如果单击 A,A 将变为蓝色,直到我单击另一个。

详细信息:

  1. 我点击 A(A is yellow),A 会变成蓝色 ==> A is blue

  2. 我点击 B(B 是黄色,A 是蓝色),B 将变为蓝色,A 将变为黄色。

更新 3:这个怎么样?

<stackpanel>
<textblock Text="A"></textblock>
</stackpanel>

<stackpanel>
<textblock Text="A"></textblock>
</stackpanel>
<stackpanel>
<textblock Text="A"></textblock>
</stackpanel>

问题同上

谢谢!

最佳答案

使用 EventTriggerColor Animation 您可以在 MouseDownMouseLeave 上更改 TextBlock 背景色的颜色


xaml 代码

 <StackPanel>
<StackPanel.Resources>
<Style TargetType="TextBlock">
<Style.Triggers>
<EventTrigger RoutedEvent="MouseDown">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Background.Color" From="Yellow" To="Blue" Duration="0:0:0.1"></ColorAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Background.Color" From="Blue" To="Yellow" Duration="0:0:0.1"></ColorAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>
<TextBlock Text="A" Background="Yellow"></TextBlock>
<TextBlock Text="B" Background="Yellow"></TextBlock>
</StackPanel>

更新

使用属性为 IsReadOnly=True 的 TextBox 而不是文本 block 。

    <StackPanel>
<StackPanel.Resources>
<Style TargetType="TextBox">
<Setter Property="Background" Value="Yellow"></Setter>
<Setter Property="BorderThickness" Value="0"></Setter>
<Setter Property="IsReadOnly" Value="True"></Setter>
<Style.Triggers>
<EventTrigger RoutedEvent="TextBox.GotFocus">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Background.Color" From="Yellow" To="Blue" Duration="0:0:0.1"></ColorAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="TextBox.LostFocus">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Background.Color" From="Blue" To="Yellow" Duration="0:0:0.1"></ColorAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>
<TextBox Text="A"></TextBox>
<TextBox Text="A"></TextBox>
</StackPanel>

关于c# - 如何更改文本 block 背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27792007/

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