禁用时更改元素的背景颜色

时间:2010-09-15 19:33:39

标签: c# silverlight xaml

当控件为Disabled或ReadOnly时,如何将默认样式Xaml中TextBox控件的背景颜色更改为其他颜色?

3 个答案:

答案 0 :(得分:0)

您可以使用样式中的触发器实现此目的:

    <TextBox>
        <TextBox.Style>
            <Style TargetType="TextBox">
                <Style.Triggers>
                    <Trigger Property="IsReadOnly" Value="True">
                        <Setter Property="Background" Value="Green" />
                    </Trigger>
                    <Trigger Property="IsEnabled" Value="True">
                        <Setter Property="Background" Value="Red" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </TextBox.Style>
    </TextBox>

答案 1 :(得分:0)

我现在不在PC上(只是移动设备),但我认为你可以编辑控件的模板,并且你的一些控件有一些视觉状态可以定义禁用状态,鼠标悬停等等...您应该能够重新定义哪些?

答案 2 :(得分:0)

我完成此操作的方法是为控件创建Converter。 当控件绑定到对象时,它会检测控件是否来自此绑定的对象Enabled。基于此,它相应地设置Textbox的背景颜色。