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。如果你可以指向我給了你這個理解我們將不勝感激的任何資源。 –