添付の画像に示すように、WPFでカスタムユーザーコントロールを作成しました。ボタン「8」をマウスで左クリックし、マウスボタンを押したまま別のボタンに移動します。たとえば、ボタン「1」とマウスの左ボタンを離します。ここで、ボタンをクリックすると「8」、ボタンを離すと「1」の両方のボタンを取得したいと考えています。PreviewMouseLeftButtonDown を登録してマウス ダウン イベントを取得し、PreviewMouseLeftButtonUp を登録してマウス アップ イベントを取得しました。しかし、両方のイベントで「8」をクリックして「1」リリースボタンに移動すると、同じ「8」ボタンが表示されます。どうすればこれを達成できるか教えてください。
private ToggleButton _startButton;
private ToggleButton _endButton;
private void tb_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
_startButton = sender as ToggleButton;
}
private void tb_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
_endButton = sender as ToggleButton;
if (_endButton != null && _startButton != null)
{
string start = _startButton.Content.ToString();
string end = _endButton.Content.ToString();
if (!start.Equals(end))
ToggleButton(_endButton);
}
}