2010-07-30 38 views

Trả lời

4

// VẤN ĐỀ: nhấp vào btns không buộc lostfocus sự kiện trên sự kiểm soát yếu tố bước cuối cùng (điều khiển mục cuối cùng có thể là văn bản, hộp kiểm hoặc những người khác) thêm nút, nơi gọi phương thức đó nó di chuyển tập trung vào cha mẹ tiết kiệm buộc mất tập trung vào phần tử cuối cùng.

private void btnSave_Click(object sender, RoutedEventArgs e) 
    { 
     AcceptLastFocusedElement(sender, e); 
    } 


    private void AcceptLastFocusedElement(object sender, RoutedEventArgs e) 
    { 
     FocusManager.SetFocusedElement(this, (Button)sender); 
    } 

LƯU Ý: không cần số nhiệm vụ 1 (nhận tên của phần tử).

+0

Công trình này ... nhưng không phải lúc nào. Tôi đã có một trường hợp mà lần thứ hai chúng tôi chạy mã này, nó không gây ra một lostfocus vì FocusGroup. Giải pháp trong câu trả lời này http://stackoverflow.com/a/4724766/197371 giải quyết vấn đề cụ thể của tôi –

+0

vui vì chúng tôi đã thu hẹp các vấn đề này !. – ramnz

2

Bạn có thể sử dụng phương thức LayoutUpdated.

Vì vậy, bất cứ khi nào có bất kỳ sự kiện nào xảy ra, sự kiện sẽ đi vào sự kiện LayoutUpdated và bạn có thể bẫy LastFocusObject.

Các vấn đề liên quan