リストビューコントロールを持つWPFアプリケーションを作成しました。ユーザーが参照ボタンをクリックして参照ウィンドウからファイルを選択すると、ListViewにデータが入力されます。Listviewには、選択したファイル名のみが表示されます。同時に、選択したファイルのパス全体がハッシュテーブルに追加されます。要件は、ユーザーがリストビューのテキストブロック上にマウスを移動するときに、ファイルの正確なパスをツールチップに表示する必要があることです。リストビューのマウス移動イベントに以下のようなコードを書きました。
private void _listFiles_MouseMove(object sender, MouseEventArgs e)
{
_listFiles.ToolTip = null;
string _text = null;
var item = Mouse.DirectlyOver;
if (item != null && item is TextBlock)
{
if (_listFiles.Items.Count != 0)
{
_text = _arraylist[(item as TextBlock).Text].ToString();
_listFiles.ToolTip = _arraylist[(item as TextBlock).Text];
}
else
_listFiles.ToolTip = "";
}
}
ツールチップが表示されます。ただし、マウスカーソルがリストビューの外に移動してから、ツールチップが表示されないようにリストビューに再び配置された場合のように、表示されない場合があります。私のアプローチは正しいですか、それともこれを達成する他の方法がありますか?
よろしくSangeetha