CallMethodAction: как я могу ссылаться на экземпляр представления как TargetObject - PullRequest
2 голосов
/ 10 декабря 2010

Я знаю, что вы будете использовать это для вызова метода в ViewModel, но просто из любопытства, как бы вы использовали для привязки обработчик событий к экземпляру представления, эквивалентный подключению его в коде позади.

Ответы [ 2 ]

3 голосов
/ 04 июня 2011

TargetObject - это объект, у которого есть метод, который нужно вызвать, если у вас есть метод в вашем коде позади окна, тогда объект - это само окно. Вы можете связать его по имени:

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
             ...etcetera...
             x:Name="UserControl">

Таким образом, ваш CallMethodAction будет:

<ei:CallMethodAction MethodName="MyMethod"
                     TargetObject="{Binding ElementName=UserControl, Mode=OneWay}"/>
1 голос
/ 11 декабря 2010

Я думаю, что вы, вероятно, после чего-то вроде этого (игнорируйте, что этот конкретный пример лучше всего сделать с помощью команды).

<Button Content="Click this">
   <i:Interaction.Triggers>
      <i:EventTrigger EventName="Click">
        <ei:CallMethodAction TargetObject="{Binding}" MethodName="SomeMethod" />
      </i:EventTrigger>          
   </i:Interaction.Triggers>
</Button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...