簡體   English   中英

WPF - 將事件綁定到 ViewModel

[英]WPF - binding event to the ViewModel

我有一個堆棧面板,我需要在 ViewModel 中處理鼠標事件,但綁定不起作用 - 盡管其他元素也綁定到 ViewModel 並且它們工作,但找不到該命令。 這是 xaml:

<Window.DataContext>
        <vm:Ticker/>
</Window.DataContext>


 <ListView Grid.Row="3"
     ItemsSource ="{Binding TickersCollectionView}">
   <ListView.ItemTemplate>
     <DataTemplate>
        <StackPanel Orientation="Horizontal" 
                    Name="STPListView">

                  <i:Interaction.Triggers>
                     <i:EventTrigger EventName="MouseLeftButtonDown">
                       <i:InvokeCommandAction
                          Command="{Binding MouseLeftButtonDownCommand}"
                          CommandParameter="{Binding ElementName=STPListView}"/>
                     </i:EventTrigger>
                  </i:Interaction.Triggers>
          <TextBlock 
              Width="130" 
              Text="{Binding Market}"
              Foreground="WhiteSmoke"/>
         <TextBlock 
              Width="110" 
              Text="{Binding Price}"
              Foreground="{Binding LastPrice, Converter={StaticResource BoolToForeground}}"/>
      </StackPanel>
    </DataTemplate>
   </ListView.ItemTemplate>
</ListView>

該命令是 ViewModel 的一個屬性。 我該如何綁定它?

如果MouseLeftButtonDownCommand屬性在與TickersCollectionView屬性相同的視圖 model 中定義,則應使用RelativeSource綁定到它:

Command="{Binding DataContext.MouseLeftButtonDownCommand,
    RelativeSource={RelativeSource AncestorType=ListView}}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM