第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用MVVM從WPF ListView項觸發(fā)雙擊事件

使用MVVM從WPF ListView項觸發(fā)雙擊事件

慕少森 2019-10-25 13:14:56
在使用MVVM的WPF應(yīng)用程序中,我有一個帶listview項的usercontrol。在運行時,它將使用數(shù)據(jù)綁定將對象集合填充到列表視圖中。將雙擊事件附加到列表視圖中的項目的正確方法是什么,以便雙擊列表視圖中的項目時,將觸發(fā)視圖模型中的相應(yīng)事件并具有對被單擊項目的引用?如何以干凈的MVVM方式完成操作,即視圖中沒有任何代碼?
查看完整描述

3 回答

?
慕標5832272

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>


查看完整回答
反對 回復(fù) 2019-10-25
?
一只萌萌小番薯

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中提供的一些幫助程序。


查看完整回答
反對 回復(fù) 2019-10-25
  • 3 回答
  • 0 關(guān)注
  • 1774 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號