1

以下のようにビューの進行状況バーを使用しました。

<ProgressBar  IsIndeterminate="{Binding IsBusy}" Visibility="{Binding IsBusy,Converter={StaticResource BooleanToVisibilityConverter}}" HorizontalAlignment="Left" Height="33" Margin="46,222,0,0" VerticalAlignment="Top" Width="358"/>
  • BooleanToVisibilityConverter は ViewModel で定義されています
  • ビューの xaml コードでエラーを取得する <phone:PhoneApplicationPage.Resources> <BooleanToVisibilityConverter x:Key="BooleanConverter"/> </phone:PhoneApplicationPage.Resources>

*エラーは:

「BooleanToVisibilityConverter」という名前は名前空間「 http://schemas.microsoft.com/client/2007 」に存在しません。

このエラーの解決方法を教えてください

4

3 に答える 3

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>
于 2013-03-04T09:32:23.743 に答える
1
<UserControl xmlns:converter="your namespace">
<UserControl.Resources>
<converter:BooleanToVisibilityConverter x:Key="bool2VisibilityConverter" />
</UserControl.Resources>
<TextBlock Visibility={Binding Path=Field, Converter={StaticResource bool2VisibilityConverter}} />
</UserControl>
于 2013-03-04T09:35:46.270 に答える
0

名前空間を xaml で定義する必要があります。Window/UserControl の最上位で、xml 名前空間を定義する必要があります。

xmlns:yn="clr-namespace:YourNamespace"

BooleanToVisibilityConverter次に、その名前空間を使用して参照する必要があります。

<yn:BooleanToVisibilityConverter ... />
于 2013-03-04T09:32:05.743 に答える