2011-01-05 21 views
5

Tôi đã tái cấu trúc một số mã ban đầu đang sử dụng Messenger trong MVVM Foundation để sử dụng Messenger trong MVVM Light Toolit. Một điều mà tôi không thể tìm thấy tương đương là trường hợp tất cả những gì bạn muốn làm là gửi Mã thông báo (nghĩa là Mã thông báo là mã nhận dạng duy nhất cho thông báo chính thư đó).Có thể gửi chỉ một mã thông báo qua MVVM Light Messenger không?

gốc Mã (MVVM Foundation) - một chuỗi sẽ làm tất cả

// send code 
mvvmFoundationMessenger.NotifyColleagues("QuestionTimedOut"); 

// register code 
mvvmFoundationMessenger.Register(
    "QuestionTimedOut", 
    () => UpdateOnQuestionTimedOut()); 

Mã mới (MVVM Light) - là có một giải pháp thanh lịch hơn điều này?

// send code 
mvvmLightMessenger.Send("QuestionTimedOut", "QuestionTimedOut"); 

// register code 
mvvmLightMessenger.Register<string>(
    this, 
    "QuestionTimedOut", 
    token => UpdateOnQuestionTimedOut()); 

Tôi nhận ra tôi có thể dứt khoát mới lên một NotificationMessage nhưng điều đó sẽ thêm mã thậm chí nhiều hơn.

+0

Vậy phiên bản tiếp theo có sẵn sàng không? Tôi đang làm điều tương tự từ MVVM Foundation cho MVVM Light! –

+0

@Dimitris, cho đến nay, điều này không cố định. – devuxer

Trả lời

5

Điểm tốt. Tôi đặt nó trên backlog cho MVVM Light VNext.

+0

Cảm ơn, Laurent! – devuxer

0

Bạn có thể lấy được từ số Messenger của MvvmLight và thêm các phương thức tiện lợi của riêng bạn hoặc bạn có thể thêm MessengerExtension Methods trong một lớp mở rộng.

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