2012-11-06 33 views
1

我使用mvvm模式的Silverlight5我有一个疑问。 在xaml中,我使用了一个文本块,并在其中绑定了一些标识。 如果文本块内容值为1或2表示 另一个文本框是可见的,否则被倒塌..如何acheive的..textbox在Silverlight中的可见性/折叠mvvm

我的代码:

<TextBlock Name="textBlock1" Text="{Binding id}" Loaded="textBlock1_Loaded" Visibility="Collapsed" /> 
<TextBox Text="{Binding name,Mode=TwoWay}" x:Name="t1" Visibility="{Binding IsVisible,Converter={StaticResource visibilityconverter}}" /> 

在视图模型我创造id属性并引发事件并将值绑定到文本块。

的值转换为可见我有一个名为单独的文件夹中的visibilityconverter类“转换器”

public class visibilityconverter:IValueConverter 
    { 

     public object Convert(object value, Type targetType, 
             object parameter, CultureInfo culture) 
     { 
      if (id==1 && id==2) 
      { 
       return Visibility.Visible; 
      } 
      return Visibility.Collapsed; 
     } 

     public object ConvertBack(object value, Type targetType, 
            object parameter, CultureInfo culture) 
     { 
      throw new NotImplementedException(); 
     } 

    } 
在上述visibleconverter类我如何中央社视图模型得到的id值,并检查它

.. 如果我从viewmodel到visibilityconverter的价值意味着我会进一步进行。

告诉我,如果你可以..!

回答

3

您好我已经找到了解决办法..

In xaml give the following: 

<TextBox Text="{Binding name,Mode=TwoWay}" x:Name="t1" Visibility="{Binding id,Converter={StaticResource visibilityconverter}}" /> 

在visibilityConverter类:

公共类visibilityconverter:的IValueConverter {

public object Convert(object value, Type targetType, 
           object parameter, CultureInfo culture) 
{ 
    string v = value.ToString(); 
    if (v =="1" || v=="2") 
    { 
     return Visibility.Visible; 
    } 
    return Visibility.Collapsed; 
} 

public object ConvertBack(object value, Type targetType, 
          object parameter, CultureInfo culture) 
{ 
    throw new NotImplementedException(); 
} 

}

问题解决了.. !!

相关问题