2

アプリケーションの特定の要素にはカスタムのサイズ変更イベントがあり、すべて機能します。ただし、それらは 1 つのケースで台無しになります。

ウィンドウの境界線にカーソルを合わせると、カーソルがサイズ変更ハンドルになり、クリック (ドラッグしない) すると、要素のサイズが正しく変更されず、ハンドラーが起動されません。

そのようなイベントを探しましたが、一致するものが見つかりません。このイベントのハンドラーを作成して、要素のサイズ変更を回避したいと思います。

.NET 4 で C#/WPF を使用しています

ウィンドウの xaml:

<Window x:Class="XHealth.MainWindow"
    Name="mainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:DataGridTemplateSample"
    xmlns:XH="clr-namespace:XHealth"
    xmlns:toolkit="http://schemas.microsoft.com/wpf/2008/toolkit"

    SizeChanged="update_size"
    Title="XHealth"  Loaded="Window_Loaded" WindowState="Normal" WindowStartupLocation="CenterScreen" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  SizeToContent="WidthAndHeight" WindowStyle="ThreeDBorderWindow"  MinWidth="650" MinHeight="648" Width="Auto"  VerticalAlignment="Top" DataContext="{Binding}" PreviewKeyDown="Window_KeyDown">

イベント ハンドラー:

public void update_size(object sender, RoutedEventArgs e )
{
        if (resultsTab.IsSelected){
          Grid.SetRowSpan(dataGrid1, 2);
          Grid.SetRowSpan(dataGrid2, 2);
        }
}

このハンドラーは意図したとおりに動作しますが、サイズ変更ハンドルがドラッグされていない場合はトリガーされないため、サイズ変更ハンドルのクリックは別のイベントであると思われます。

また、これは一度だけ発生します。サイズ変更ハンドラーが有効になると、サイズ変更ハンドルをクリックしても効果がありません。

4

1 に答える 1