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。如果你可以指向我给了你这个理解我们将不胜感激的任何资源。 –