2013-03-04 49 views
1

绑定代码为BooleanToVisibilityConverter获取错误我在视图中使用进度条如下:上XAML在MVVM

<ProgressBar IsIndeterminate="{Binding IsBusy}" Visibility="{Binding IsBusy,Converter={StaticResource BooleanToVisibilityConverter}}" HorizontalAlignment="Left" Height="33" Margin="46,222,0,0" VerticalAlignment="Top" Width="358"/> 
  • BooleanToVisibilityConverter在视图模型
  • 定义获取有关的视图XAML代码错误 <phone:PhoneApplicationPage.Resources> <BooleanToVisibilityConverter x:Key="BooleanConverter"/> </phone:PhoneApplicationPage.Resources>

*错误是:

命名空间“http://schemas.microsoft.com/client/2007”中不存在名称“BooleanToVisibilityConverter”。

请告诉我如何解决此错误

+0

请发表您的XAML,视图模型和代码转换器 – 2013-03-04 09:30:59

回答

0

您需要在xaml中定义您的名称空间。在你的窗口/用户控件的顶层,您需要定义XML命名空间:

xmlns:yn="clr-namespace:YourNamespace" 

,然后你需要使用该命名空间来引用你BooleanToVisibilityConverter

<yn:BooleanToVisibilityConverter ... /> 
2

您可以定义一个转换器像这样:

namespace YourNamespace 
{ 
    public class BooleanToVisibilityConverter : IValueConverter 
    { 

     public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
     { 
      return (bool)value ? Visibility.Visible : Visibility.Collapsed; 
     } 

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

构建您的解决方案! 而在XAML:

<navigation:Page x:Class="MyCustomNamespace" 
    xmlns:converters="clr-namespace:YourNamespace"> 
    <navigation:Page.Resources> 
     <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibility" /> 
    </navigation:Page.Resources> 
    <TextBlock Visibility="{Binding BooleanFromViewModel, Convert={StaticResource BooleanToVisibility}" /> 
</navigation:Page> 
0
<UserControl xmlns:converter="your namespace"> 
<UserControl.Resources> 
<converter:BooleanToVisibilityConverter x:Key="bool2VisibilityConverter" /> 
</UserControl.Resources> 
<TextBlock Visibility={Binding Path=Field, Converter={StaticResource bool2VisibilityConverter}} /> 
</UserControl>