shuhelohelo’s blog

Xamarin.Forms多めです.

XamlでCommand属性がない要素にCommanをバインドするには

EventToCommandBehaviordocs.microsoft.com

イベントが発生したときにこのBehaviorを使用してコマンドを実行することの利点は,コマンドとやり取りするように設計されえていないコントロールにコマンドを関連付けできることです.

このコマンドとやりとりするように設計されていないコントロールにコマンドを関連付けできることという部分が重要な点.

これによってリストビューのItemSelectedイベントとCommandをバインドすることができるようになる.

<ListView ItemsSource="{Binding People}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextCell Text="{Binding Name}" />
        </DataTemplate>
    </ListView.ItemTemplate>
    <ListView.Behaviors>
        <local:EventToCommandBehavior EventName="ItemSelected" Command="{Binding OutputAgeCommand}" Converter="{StaticResource SelectedItemConverter}" />
    </ListView.Behaviors>
</ListView>