组合框的条件ChangePropertyAction触发器

时间:2012-04-24 18:35:29

标签: silverlight xaml triggers expression-blend

我要做的是根据Telerik ComboBox的选择设置条件可见性触发器(Silverlight)。如何告诉它查找是否存在值,然后在另一个控件上设置可见性?这个想法是,在前一个组合框中选择某些东西后,甚至看不到另一个控件。

就像这样;

<i:Interaction.Triggers>
    <ei:DataTrigger Value="{x:Null}" Binding="{Binding Text,ElementName=FirstComboBox}">
       <ei:ChangePropertyAction TargetName="SecondComboBox" PropertyName="Visibility" Value="Collapsed"/>
    </ei:DataTrigger>
    <ei:DataTrigger Value="{A_VALUE_EXISTS_AS_CHOSEN_FROM_COMBO}" Binding="{Binding Text,ElementName=FirstComboBox}">
       <ei:ChangePropertyAction TargetName="SecondComboBox" PropertyName="Visibility" Value="Visible"/>
    </ei:DataTrigger>
</i:Interaction.Triggers>

我知道我可以看看它是否为Null并且没有值存在,但是一旦从组合框中做出选择,无论选择什么,如何判断值是否存在,触发Visible触发器?< / p>

所以更简单,如果ComboBox1选择了一个值,ComboBox2会变得可见吗?感谢您节省时间和脑力!

1 个答案:

答案 0 :(得分:1)

[ValueConversion(typeof(string), typeof(Visibility))]
public class AuditVisabilityConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        string input = (string)value;
        if (string.isNullOrEmpty(input)) return Visibility.Visible;
        else return Visibility.Collapsed;
    }
    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return string.empty;
    }
}