状況は次のとおりです。
他の子の中に 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); }
}
これをよりエレガントに行う方法はありますか?