1
UWPアプリケーションを作成していますが、これまではCallMethodAction
を使用してViewModelからメソッドを呼び出していました。CallMethodActionのTargetObjectをXAMLの親DataContextのViewModelに設定します
今、私はListView
内のいくつかのボタンに同じメソッドを使用しようとしていますが、ボタンをクリックすると何も起こりません。 XAMLコードは次のとおりです。
<Page.DataContext>
<vm:RoomPageViewModel x:Name="ViewModel" />
</Page.DataContext>
<ListView x:Name="ActuatorListView"
ItemsSource="{x:Bind ViewModel.Room.Actuators}">
<ListView.ItemTemplate>
<DataTemplate x:DataType="data:Actuator">
<Button x:Name="OnButton" Content="On">
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior
EventName="Click"
SourceObject="{Binding ElementName=OnButton}">
<Core:CallMethodAction
MethodName="OnButton_Click"
TargetObject="{Binding ElementName=ViewModel, Mode=OneWay}" />
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Button>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
私は親DataContext
にアクセスするには、いくつかの方法を試してみましたが、私はなしの作業を発見しました。
ありがとう!問題は解決しました。 – Carlos
あなたはxamlの神です。 RelativeSourceとAncestorTypeを試してみると本当に苦労しました。あなたがこのことを理解してくれたリソースを教えていただければ幸いです。 –