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

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

DoubleClick 在 DataGrid 和 DataTemplate 中均觸發(fā)

DoubleClick 在 DataGrid 和 DataTemplate 中均觸發(fā)

C#
慕妹3146593 2023-09-16 17:12:41
長話短說; 我有一個網(wǎng)格內(nèi)有一個網(wǎng)格。兩個網(wǎng)格都有雙擊事件,這些事件應(yīng)該觸發(fā)不同的方法調(diào)用(主網(wǎng)格顯示一個窗口,而 DataTemplate 中的網(wǎng)格顯示一個帶有來自所選詳細(xì)信息行的參數(shù)的窗口)。問題是,即使 e.Handled 設(shè)置為 true,雙擊詳細(xì)信息行也會調(diào)用雙擊主網(wǎng)格。簡化的 XAML:<Window x:Class="DoubleClickDataTemplate.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"        xmlns:local="clr-namespace:DoubleClickDataTemplate"        mc:Ignorable="d"        Title="MainWindow" Height="450" Width="800">    <Window.Resources>        <DataTemplate x:Key="LinesGrid">            <DataGrid x:Name="dgLines"                         ItemsSource="{Binding Path=Lines}"                         AutoGenerateColumns="True"                         IsReadOnly="True"                        MouseDoubleClick="dgLines_MouseDoubleClick">            </DataGrid>        </DataTemplate>    </Window.Resources>    <Grid>        <DataGrid x:Name="dgFiles"                     ItemsSource="{Binding}"                     AutoGenerateColumns="True"                     IsReadOnly="True"                    RowDetailsVisibilityMode="VisibleWhenSelected"                    RowDetailsTemplate="{StaticResource LinesGrid}"                     MouseDoubleClick="dgFiles_MouseDoubleClick">        </DataGrid>    </Grid></Window>輸出顯示,當(dāng)我雙擊 DataTemplate/DetailRow 時(shí),這兩個事件都會被調(diào)用:00:05.616 (00:03:456) dgLines_MouseDoubleClick(object sender, MouseButtonEventArgs e)                      dgFiles_MouseDoubleClick(object sender, MouseButtonEventArgs e)最接近“解決方案”的是使用鎖定標(biāo)志(https://www.oipapio.com/question-3430969),但這可能會在很多方面出錯。有沒有辦法讓雙擊詳細(xì)信息行只調(diào)用相關(guān)事件而不是兩個事件?
查看完整描述

1 回答

?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個贊

您可以處理MouseLeftButtonDown并檢查ClickCount外部DataGrid:


private void dgFiles_MouseDoubleClick(object sender, MouseButtonEventArgs e)

{

    if (e.ClickCount == 2)

    {

        System.Diagnostics.Debug.WriteLine("dgFiles_MouseDoubleClick(object sender, MouseButtonEventArgs e)");

    }

}



private void dgLines_MouseDoubleClick(object sender, MouseButtonEventArgs e)

{

    System.Diagnostics.Debug.WriteLine("dgLines_MouseDoubleClick(object sender, MouseButtonEventArgs e)");

    e.Handled = true;

}

XAML:


<Window.Resources>

    <DataTemplate x:Key="LinesGrid">

        <DataGrid x:Name="dgLines" 

                ItemsSource="{Binding Path=Lines}" 

                AutoGenerateColumns="True" 

                IsReadOnly="True"

                MouseDoubleClick="dgLines_MouseDoubleClick">

        </DataGrid>

    </DataTemplate>

</Window.Resources>

<Grid>

    <DataGrid x:Name="dgFiles" 

            ItemsSource="{Binding}" 

            AutoGenerateColumns="True" 

            IsReadOnly="True"

            RowDetailsVisibilityMode="VisibleWhenSelected"

            RowDetailsTemplate="{StaticResource LinesGrid}" 

            MouseLeftButtonDown="dgFiles_MouseDoubleClick">

    </DataGrid>

</Grid>


查看完整回答
反對 回復(fù) 2023-09-16
  • 1 回答
  • 0 關(guān)注
  • 101 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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