これを行う方法がれる多である...
次のリソースを使用しています
<GridViewColumn x:Name="DescriptionColumn" Header="{DynamicResource MyHeader}" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Style="{StaticResource TextBlockMultiValue}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
...
<local:MultiValueConverter x:Key="MultiValueConverter"/>
<Style x:Key="TextBlockMultiValue" TargetType="TextBlock">
<Setter Property="Text">
<Setter.Value>
<MultiBinding Converter="{StaticResource MultiValueConverter}">
<Binding Path="MyText1"/>
<Binding Path="MyText2"/>
<Binding Path="Switch"/>
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
、次のようにコンバータです...
public class MultiValueConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if ((bool)values[2] == true)
return values[0].ToString();
else
return values[1].ToString();
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
したがって、コンバータは、コンバータの3番目の入力に基づいて、1つの文字列か別の文字列かを選択しています。あなたがDataTrigger
でStyle
を使用することができ