使用触发器管理必填字段

发布于 2024-09-03 13:46:18 字数 1827 浏览 1 评论 0原文

我想将必填字段背景设置为红色,其他字段背景为绿色。所以我尝试在下面实现。但我无法使用触发器控制 ValueConstraint Nullable 属性。你能帮忙吗?

<Window x:Class="TriggerGirilmesigerekenalanlar.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:y="http://infragistics.com/Editors"
    Title="Window1" Height="300" Width="300">
    <Window.Resources>
        <Style TargetType="{x:Type y:XamTextEditor}">
            <Style.Triggers>
                <Trigger Property="ValueConstraint" Value="{x:Null}">
                    <Trigger.Setters>
                        <Setter Property="Background" Value="green"></Setter>
                    </Trigger.Setters>
                </Trigger>
                <Trigger Property="y:ValueConstraint.Nullable" Value="false">
                    <Trigger.Setters>
                        <Setter Property="Background" Value="red"></Setter>
                    </Trigger.Setters>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>
    <StackPanel>
        <y:XamTextEditor>
            <y:XamTextEditor.ValueConstraint>
                <y:ValueConstraint Nullable="False" ></y:ValueConstraint>
            </y:XamTextEditor.ValueConstraint>
        </y:XamTextEditor>
        <y:XamTextEditor></y:XamTextEditor>
    </StackPanel>
</Window>

实际上它给出了错误。

错误 1 ​​无法解析样式属性“可为空”。验证所属类型是否为 Style 的 TargetType,或使用 Class.Property 语法指定 Property。第 15 行位置 26。D:\Deneme proje\TriggerGirilmesigerekenalanlar\Window1.xaml 15 26 TriggerGirilmesigerekenalanlar

I would like to set mandatory field backgrounds are red and others are green. So I try to implement below. But I could not control ValueConstraint Nullable property with trigger. Could you help please ?

<Window x:Class="TriggerGirilmesigerekenalanlar.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:y="http://infragistics.com/Editors"
    Title="Window1" Height="300" Width="300">
    <Window.Resources>
        <Style TargetType="{x:Type y:XamTextEditor}">
            <Style.Triggers>
                <Trigger Property="ValueConstraint" Value="{x:Null}">
                    <Trigger.Setters>
                        <Setter Property="Background" Value="green"></Setter>
                    </Trigger.Setters>
                </Trigger>
                <Trigger Property="y:ValueConstraint.Nullable" Value="false">
                    <Trigger.Setters>
                        <Setter Property="Background" Value="red"></Setter>
                    </Trigger.Setters>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>
    <StackPanel>
        <y:XamTextEditor>
            <y:XamTextEditor.ValueConstraint>
                <y:ValueConstraint Nullable="False" ></y:ValueConstraint>
            </y:XamTextEditor.ValueConstraint>
        </y:XamTextEditor>
        <y:XamTextEditor></y:XamTextEditor>
    </StackPanel>
</Window>

Actually it gives error.

Error 1 Cannot resolve the Style Property 'Nullable'. Verify that the owning type is the Style's TargetType, or use Class.Property syntax to specify the Property. Line 15 Position 26. D:\Deneme proje\TriggerGirilmesigerekenalanlar\Window1.xaml 15 26 TriggerGirilmesigerekenalanlar

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

缪败 2024-09-10 13:46:18

试试这个:

<Style.Triggers>
    <Trigger Property="ValueConstraint.Nullable" Value="{x:Null}">
        <Trigger.Setters>
            <Setter Property="Background" Value="Green"></Setter>
        </Trigger.Setters>
    </Trigger>
    <Trigger Property="ValueConstraint.Nullable" Value="false">
        <Trigger.Setters>
            <Setter Property="Background" Value="Red"></Setter>
        </Trigger.Setters>
    </Trigger>
</Style.Triggers>

Try this:

<Style.Triggers>
    <Trigger Property="ValueConstraint.Nullable" Value="{x:Null}">
        <Trigger.Setters>
            <Setter Property="Background" Value="Green"></Setter>
        </Trigger.Setters>
    </Trigger>
    <Trigger Property="ValueConstraint.Nullable" Value="false">
        <Trigger.Setters>
            <Setter Property="Background" Value="Red"></Setter>
        </Trigger.Setters>
    </Trigger>
</Style.Triggers>
季末如歌 2024-09-10 13:46:18

这就是答案。

  <Style TargetType="{x:Type y:XamTextEditor}">
            <Style.Triggers>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding Path=ValueConstraint.Nullable, RelativeSource={RelativeSource Self}}" Value="false" />
                        <Condition Binding="{Binding Path=IsReadOnly, RelativeSource={RelativeSource Self}}" Value="false" />
                        <Condition Binding="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}}" Value="true" />
                        <Condition Binding="{Binding Path=Visibility, RelativeSource={RelativeSource Self}}" Value="Visible" />
                    </MultiDataTrigger.Conditions>
                    <Setter Property="Background" Value="red"></Setter>
                </MultiDataTrigger>
            </Style.Triggers>
        </Style>

This is the answer.

  <Style TargetType="{x:Type y:XamTextEditor}">
            <Style.Triggers>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding Path=ValueConstraint.Nullable, RelativeSource={RelativeSource Self}}" Value="false" />
                        <Condition Binding="{Binding Path=IsReadOnly, RelativeSource={RelativeSource Self}}" Value="false" />
                        <Condition Binding="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}}" Value="true" />
                        <Condition Binding="{Binding Path=Visibility, RelativeSource={RelativeSource Self}}" Value="Visible" />
                    </MultiDataTrigger.Conditions>
                    <Setter Property="Background" Value="red"></Setter>
                </MultiDataTrigger>
            </Style.Triggers>
        </Style>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文