gpt4 book ai didi

c# - 在 xaml 中使用 ConverterParameter

转载 作者:太空宇宙 更新时间:2023-11-03 21:16:26 24 4
gpt4 key购买 nike

我的 xaml 中有一个数据网格:

<dg:DataGridTextColumn Header="A"
Width="110"
Binding="{Binding ValueA, StringFormat=N2}"
IsReadOnly="true"
FontWeight="Bold">
<dg:DataGridTextColumn.CellStyle>
<Style TargetType="dg:DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding ValueA, Converter={StaticResource MyConverterA}}"
Value="True">
<Setter Property="Background"
Value="LightYellow" />
</DataTrigger>
</Style.Triggers>
</Style>
</dg:DataGridTextColumn.CellStyle>
</dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="B"
Width="180"
Binding="{Binding B, StringFormat=N2}"
IsReadOnly="true"
FontWeight="Bold">
<dg:DataGridTextColumn.CellStyle>
<Style TargetType="dg:DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding MyVal, Converter={StaticResource MyConverterB}, **ConverterParameter=??**}"
Value="True">
<Setter Property="Background"
Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</dg:DataGridTextColumn.CellStyle>
</dg:DataGridTextColumn>

我需要使用 ConverterParameter 将“A”列的值作为参数传递给 MyConverterB。有什么建议吗?

感谢您的帮助。

最佳答案

在这种情况下,您可以使用 MultiBinding 而不是使用 ConverterParameter

<MultiBinding Converter="{StaticResource MyConverterB}">
<Binding Path="A" />
<Binding Path="B" />
</MultiBinding>

并为此创建IMultiValueConverter

public class MyConverterB : IMultiValueConverter
{
public object Convert( object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture )
{

}

public object[] ConvertBack( object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture )
{

}
}

更新

或者您可以尝试使用 MultiDataTrigger 来改变颜色。也许有一些转换器。条件类似于逻辑与。

<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=ValueA}" Value="True" />
<Condition Binding="{Binding Path=B}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Red" />
</MultiDataTrigger>

关于c# - 在 xaml 中使用 ConverterParameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33909282/

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