我想在XAML中使用数据或任何其他可用的触发器实现类似的功能吗?
不使用C#或IValueConverters
其中costprice是一个numericupdown控件。 所以我试图设置控件的最大属性。但我不知道,我怎样才能给出大于和小于条件?
如果side是Buy,则CostPrice必须小于SellPrice。 如果side是Sell,那么CostPrice必须大于SellPrice
尝试过如下所示的内容
<DataTrigger Binding="{Binding Path=Side.Code,ConverterParameter={x:Static i:SideCodes.Buy}, Converter={StaticResource EqualsConverter},UpdateSourceTrigger=PropertyChanged}" Value="True">
<Setter Property="Maximum" Value="{Binding Path=Price.Value}"></Setter>
</DataTrigger>
答案 0 :(得分:2)
我如何给予大于和小于条件?
我刚刚问过,没有转换器是否可以做到?
不,您不能在纯XAML中执行此操作,因为没有定义“小于”或“大于”运算符。
XAML是标记语言,而不是编程语言,因此您应该使用转换器。
或者您可以向Side
对象添加另一个只读属性,该对象返回一个bool,用于确定该值是否实际上大于或小于其他属性:
public bool IsSmaller { get { return Code < Buy; } }
答案 1 :(得分:0)
如果没有C#或转换器,我认为这是不可能的。
但是,您可以使用“QuickConverter”(在NuGet上提供)在xaml中编写内联C#代码。
如果您有兴趣:QuickConverter tutorial