在WPF中,我有一個綁定到ObservableCollection的列表視圖。如何在列表視圖的數據模板中訂閱事件
XAML:
<ListView Name="listView" DockPanel.Dock="Top" ItemsSource="{Binding Path=ListOfOldData}" SelectedItem="{Binding Path=SelectedOldData, Mode=TwoWay}" SelectionMode="Single">
<ListView.ContextMenu>
<ContextMenu>
<Button Content="Load" Command="{Binding Path=LoadCommand}" Name="loadButton" Height="23" Width="75" DockPanel.Dock="Left"/>
<!-- Is working just fine -->
</ContextMenu>
</ListView.ContextMenu>
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock MouseLeftButtonDown="TextBlock_MouseLeftButtonDown"
Text="{Binding Path=Name}" FontWeight="Bold"><TextBlock Text=" - " FontWeight="Normal"/><TextBlock Text="{Binding Path=UpdateDatum}" FontWeight="Normal"/></TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我其實是想收到的只是一個雙擊選定的項目。由於我無法將命令綁定到xaml中的文本塊(我可以嗎?),我嘗試通過MouseLeftButtonDown-Event
來完成此操作。但事件從未收到!
C#(在後面的代碼):
private void TextBlock_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Console.WriteLine("MouseLeftButtonDown received!");
}
我在做什麼錯?我怎樣才能收到這個活動?順便說一句:contextmenu的命令工作得很好:)
UPDATE我發現我的錯誤 - >我在錯誤的usercontrol中添加了事件。該死的我失蹤的集中。對不起,煩擾你們。
這不適合我。我不知道爲什麼,但它從來沒有在事件處理程序中運行。 – basti 2012-07-05 12:40:28
我不知道你有什麼,我有它在這裏編譯和工作:) – MBen 2012-07-05 12:43:28
是否有可能是一個問題,因爲我的listview是在擴展器? – basti 2012-07-05 12:47:03