组合框的条件ChangePropertyAction触发器

问题描述:

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

所以像这样;

<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> 

我知道我可以去看看,如果是零,没有值存在,但一旦选择从组合框,无论选择什么做的,我怎么能告诉它,如果存在一个值,关火可见的触发器?

因此,即使更简单,如果ComboBox1有一个值选择,ComboBox2变得可见?感谢您节省时间和大脑的力量!

+0

不确定在Silverlight中,但在WPF中它是用转换器完成的。我把WPF从你的标签中拿走了。我希望那样可以。 – Paparazzi 2012-04-24 18:47:22

+0

那么废话,我觉得有一个布尔值,我可以绑,基本上说:“雅,我有一些文本在这里,从组合中选择”有点像我可以去看看,如果它是:无或无。而且我不介意,WPF和SL xaml在大多数时候大多数时候都是如此相似。谢谢! – 2012-04-24 19:30:08

+0

有一个罐头布尔可见性。转换器非常简单,我会发布一个。 – Paparazzi 2012-04-24 20:29:44

[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; 
    } 
} 
+0

谢谢我只是坐在这里,当我看到这个,救了我约5行哈哈,干杯! :) – 2012-04-24 20:39:22