2017-07-11 11 views
4

xamlのオブジェクトのvisibleプロパティをデフォルトでfalseに設定します。しかし、私がページを開くと、それは見えて、次にバインディング変数を評価し、falseの場合は可視になりません。 私はそれがdefaltによって消えたことを望み、バインディング変数が真であれば、それは見えるようになります。 オブジェクトの可視性プロパティのバインドにデフォルト値を挿入しようとしました。 FallbackValue = HiddenまたはCollapsedなど、TargetNullValueの場合でも試しましたが、動作しません。私は常にXamlParseExceptionを取得します。xamlのXamarinバインディングのデフォルト値

誰でも教えてください。おかげさまで

コード(簡体字):

<Grid HorizontalOptions="FillAndExpand" 
      IsVisible="{Binding Path=Info.IsVisible, Converter={StaticResource BooleanToStringConverter}, FallbackValue=Collapsed}" 

答えて

0

IsVisibleのためのあなたのオブジェクトのデフォルト値は常にtrueです。これはBindingから独立しています。

<Image x:Name="myImage" Aspect="AspectFit" WidthRequest="20" 
     HeightRequest="20" HorizontalOptions="End" VerticalOptions="End" 
     IsVisible="{Binding PropertyNameOfYourModel}" /> 
// Somewhere in the constructor 
this.myImage.IsVisible = false; 

// Here the binding is set at a later time 
this.BindingContext = yourModelObject; 
this.myImage.SetBinding(Image.IsVisibleProperty, "PropertyNameOfYourModel"); 
:あなたはこのようなもので、ファイルの背後にあるコードでこの値を上書きする可能性が
関連する問題