组合框的条件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变得可见?感谢您节省时间和大脑的力量!
答
[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
不确定在Silverlight中,但在WPF中它是用转换器完成的。我把WPF从你的标签中拿走了。我希望那样可以。 – Paparazzi 2012-04-24 18:47:22
那么废话,我觉得有一个布尔值,我可以绑,基本上说:“雅,我有一些文本在这里,从组合中选择”有点像我可以去看看,如果它是:无或无。而且我不介意,WPF和SL xaml在大多数时候大多数时候都是如此相似。谢谢! – 2012-04-24 19:30:08
有一个罐头布尔可见性。转换器非常简单,我会发布一个。 – Paparazzi 2012-04-24 20:29:44