wpf - 我怎样才能让这个 DataTrigger 工作?

标签 wpf mvvm binding triggers datatrigger

我希望我的 TextBox 有一个 红色背景如果 ViewModel 属性 =“ 无效 ”。我必须改变什么才能有效?

这个版本告诉我背景没有合格的类型名称 .

<TextBox
    Width="200"
    Text="{Binding FieldEmail, UpdateSourceTrigger=PropertyChanged}">
    <TextBox.Triggers>
        <DataTrigger Binding="{Binding FieldEmailValidationStatus}" Value="invalid">
            <Setter Property="TextBox.Background" Value="Tomato"/>
        </DataTrigger>
    </TextBox.Triggers>
</TextBox>

当我添加“文本框”时。它告诉我我 必须有一个 EventTrigger :
<TextBox
    Width="200"
    Text="{Binding FieldEmail, UpdateSourceTrigger=PropertyChanged}">
    <TextBox.Triggers>
        <DataTrigger Binding="{Binding FieldEmailValidationStatus}" Value="invalid">
            <Setter Property="Background" Value="Tomato"/>
        </DataTrigger>
    </TextBox.Triggers>
</TextBox>

最佳答案

请允许我回答这个问题,我忘记将其全部包装成一种样式,然后它运行得很好:

<TextBox
    Width="200"
    Text="{Binding FieldEmail, UpdateSourceTrigger=PropertyChanged}">
    <TextBox.Style>
        <Style>
            <Style.Triggers>
                <DataTrigger Binding="{Binding FieldEmailValidationStatus}" Value="invalid">
                    <Setter Property="TextBox.Background" Value="Tomato"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </TextBox.Style>
</TextBox>

或这个:
<Style x:Key="FieldEmailStyle" TargetType="TextBox">
    <Style.Triggers>
        <DataTrigger Binding="{Binding FieldEmailValidationStatus}" Value="invalid">
            <Setter Property="TextBox.Background" Value="Yellow"/>
        </DataTrigger>
        <DataTrigger Binding="{Binding FieldEmailValidationStatus}" Value="valid">
            <Setter Property="TextBox.Background" Value="LightGreen"/>
        </DataTrigger>
    </Style.Triggers>
</Style>

    <TextBox
        Width="200"
        Style="{StaticResource FieldEmailStyle}"
        Text="{Binding FieldEmail, UpdateSourceTrigger=PropertyChanged}">
    </TextBox>

关于wpf - 我怎样才能让这个 DataTrigger 工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1016954/

相关文章:

wpf - 用不同类型绑定(bind) DataGrid 中 ComboBox 的 SelectedItem

c# - 无法在 Telerik 中使用附加 Y 轴的绑定(bind)

c# - 类设计悖论

wpf - ViewModel 绑定(bind)错误

wpf - MVVM 中的行为和 View 模型如何关联?

jQuery 绑定(bind)事件触发事件

c# - 使用 IValueConverter 动态加载图像源

wpf - JINT 是否支持 TypeScript

c# - Task.WaitAll 死锁

Android ViewModel - "by activityViewModels"在 "by viewModels"之前调用