Width 属性が 150 に達するまで動的に拡張するようにしたいと考えています。その後、ユーザーはドラッグでさらに拡張できるようにする必要があります (MaxWidth ではこれは許可されません)。
Width="150*"
同様の機能がありますが、反対方向です (最小幅で、必要に応じて拡張します)。「必要に応じて拡張」と最大の拡張幅が必要です。
XAML を使用してこれを行う方法はありますか?
ユーザーがドラッグできるようにするエッジに線を入れます。その行で Cursor プロパティを "SizeWE" に設定して、ユーザーがドラッグできることを認識できるようにします。その行から、マウス ダウン、マウス移動、およびマウス アップ イベントを処理します。MouseDown で、ライン コントロールから CaptureMouse() を呼び出し、マウスの位置を保存します。マウスの移動時に、新しいマウス位置を取得し、マウス ダウン位置からの変化を計算し、右方向へのマウス移動の量だけ 150 に制限していたコントロールの幅を増やしてから、元のマウス位置をリセットします。現在のマウス位置に。MouseUp で、ライン コントロールから ReleaseMouse() を呼び出します。
お役に立てれば。
アイテムのサイズに応じて、プログラムで幅を設定できます。幅を a にバインドするGridLength
と、ユーザーに制御させるか、最大 150 まで自分で制御できます
private GridLength _marquee1Width = new GridLength(150, GridUnitType.Pixel);
これをGridUnitType.Pixel
、GridUnitType.Auto
、またはに設定できます。GridUnitType.Star