我要做的是根据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会变得可见吗?感谢您节省时间和脑力!
答案 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;
}
}