3 回答

TA貢獻1966條經(jīng)驗 獲得超4個贊
我能夠使它與.NET 4.5一起使用。看起來很簡單,不需要任何第三方或代碼。
<ListView ItemsSource="{Binding Data}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<Grid Margin="2">
<Grid.InputBindings>
<MouseBinding Gesture="LeftDoubleClick" Command="{Binding ShowDetailCommand}"/>
</Grid.InputBindings>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Image Source="..\images\48.png" Width="48" Height="48"/>
<TextBlock Grid.Row="1" Text="{Binding Name}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

TA貢獻1795條經(jīng)驗 獲得超7個贊
我喜歡使用“ 附加命令行為和命令”。Marlon Grech很好地實現(xiàn)了“附加命令行為”。然后,可以使用這些樣式為ListView的ItemContainerStyle屬性分配一種樣式,該樣式將為每個ListViewItem設(shè)置命令。
在這里,我們設(shè)置要在MouseDoubleClick事件上觸發(fā)的命令,而CommandParameter將是我們單擊的數(shù)據(jù)對象。在這里,我將沿著可視化樹前進以獲取我正在使用的命令,但是您可以輕松地創(chuàng)建應(yīng)用程序范圍的命令。
<Style x:Key="Local_OpenEntityStyle"
TargetType="{x:Type ListViewItem}">
<Setter Property="acb:CommandBehavior.Event"
Value="MouseDoubleClick" />
<Setter Property="acb:CommandBehavior.Command"
Value="{Binding ElementName=uiEntityListDisplay, Path=DataContext.OpenEntityCommand}" />
<Setter Property="acb:CommandBehavior.CommandParameter"
Value="{Binding}" />
</Style>
對于命令,您可以直接實現(xiàn)ICommand,也可以使用MVVM Toolkit中提供的一些幫助程序。
- 3 回答
- 0 關(guān)注
- 1774 瀏覽
添加回答
舉報