在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