0

DataGridRowのマウスの入力および終了イベントをサブスクライブしたいと思います。

現時点では、DataGrid の XAML は次のようになります。

<toolkit:DataGrid ItemsSource="{Binding DisplayedSearchResults}" 
              caliburn:Message.Attach="[Event MouseDoubleClick] = [OpenDocument()]" 
              SelectedItem="{Binding SelectedRow, Mode=TwoWay}" Margin="7"
              AutoGeneratingColumn="DataGrid_AutoGeneratingColumn"
              IsReadOnly="True" Grid.Row="0"
              Sorting="ResultsDataGrid_Sort">
    <toolkit:DataGrid.Resources>
        <Style TargetType="Button"></Style>
    </toolkit:DataGrid.Resources>
</toolkit:DataGrid>

可能であればCaliburnを使用してこれを行うにはどうすればよいですか?

4

1 に答える 1

1

コードビハインドで接続を終了しました:

MyView.xaml.cs:

public partial class MyView : UserControl
{

    public SearchResultsView()
    {
        InitializeComponent();
        SearchResultsGrid.LoadingRow += DataGrid_PreparingRow;
    }        

    public void DataGrid_PreparingRow(object sender, DataGridRowEventArgs args)
    {
        args.Row.MouseEnter += Row_MouseEnter;
        args.Row.MouseLeave += Row_MouseLeave;
    }

    public void Row_MouseEnter(object sender, MouseEventArgs args)
    {
        // do some stuff
    }

    public void Row_MouseLeave(object sender, MouseEventArgs args)
    {
        // do some stuff
    }
}

MyView.xaml:

<UserControl x:Class="MyView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             
             xmlns:toolkit="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>

        <toolkit:DataGrid Name="SearchResultsGrid" />
    </Grid>
</UserControl>
于 2012-07-10T05:15:52.920 に答える