C# 获取MVVM中BooleantVisibilityConverter的xaml绑定代码时出错
我在视图中使用了进度条,如下所示:C# 获取MVVM中BooleantVisibilityConverter的xaml绑定代码时出错,c#,C#,我在视图中使用了进度条,如下所示: <ProgressBar IsIndeterminate="{Binding IsBusy}" Visibility="{Binding IsBusy,Converter={StaticResource BooleanToVisibilityConverter}}" HorizontalAlignment="Left" Height="33" Margin="46,222,0,0" VerticalAlignment="Top" Width="358"
<ProgressBar IsIndeterminate="{Binding IsBusy}" Visibility="{Binding IsBusy,Converter={StaticResource BooleanToVisibilityConverter}}" HorizontalAlignment="Left" Height="33" Margin="46,222,0,0" VerticalAlignment="Top" Width="358"/>
- BooleantVisibilityConverter在ViewModel中定义
- 获取视图的xaml代码时出错
请告诉我如何解决此错误您需要在xaml中定义名称空间。在窗口/用户控件的顶层,您需要定义一个xml命名空间:
xmlns:yn="clr-namespace:YourNamespace"
<yn:BooleanToVisibilityConverter ... />
然后,您需要使用该名称空间引用您的BooleanToVisibilityConverter
:
xmlns:yn="clr-namespace:YourNamespace"
<yn:BooleanToVisibilityConverter ... />
您可以这样定义转换器:
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>
请发布您的xaml、viewmodel和转换器代码