1

状況は次のとおりです。

他の子の中に ImageView を含むカスタム コントロールを作成しました。カスタム コントロールを使用するときに XAML からこの子ビューのプロパティ (IsVisible) をバインドできるようにしたいのですが、親カスタム コントロールでこのプロパティを公開する方法がわかりません。

私はこのようなものを設定したい (IsLeftImageVisible は、公開された子コントロール プロパティである必要があります):

<controls:StepIndicator IsLeftImageVisible="{Binding IsValid}" />

今のところ、私はこのようなことをしましたが、あまり好きではありません:

public static readonly BindableProperty IsLeftButtonVisibleProperty = 
    BindableProperty.Create<StepIndicator, bool>
       (x => x.IsLeftImageVisible, true, propertyChanged: ((
        bindable, value, newValue) =>
    {
        var control = (StepIndicator)bindable;
        control.ImageLeft.IsVisible = newValue;
    }));

    public bool IsLeftImageVisible
    {
        get { return (bool)GetValue(IsLeftImageVisibleProperty); }
        set { SetValue(IsLeftImageVisibleProperty, value); }
    }

これをよりエレガントに行う方法はありますか?

4

1 に答える 1