Làm cách nào để kiểm tra trạng thái của bảng phân cảnh?Cách kiểm tra trạng thái của bảng phân cảnh?
Ví dụ:
if (storyboard.Completed += true) // ???
{
}
(Mã này không công việc, vì những lý do rõ ràng.)
Làm cách nào để kiểm tra trạng thái của bảng phân cảnh?Cách kiểm tra trạng thái của bảng phân cảnh?
Ví dụ:
if (storyboard.Completed += true) // ???
{
}
(Mã này không công việc, vì những lý do rõ ràng.)
Chỉ cần móc sự kiện Completed
và khi mã của bạn chạy trong đó, bảng phân cảnh sẽ được hoàn thành. Xem: http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.completed(VS.95).aspx#Y565
Tôi sẽ sử dụng cái này như thế nào? (ví dụ: storyboard.Completed + = Completed;) – JavaAndCSharp
Đúng vậy. Xem mẫu trên http://samples.msdn.microsoft.com/Silverlight/SampleBrowser/index.htm#/?sref=change_targetname_2 (nhấp vào nút "Xem mã nguồn mẫu" rồi nhấn nút C# xuất hiện trên đó trang ở trên cùng). –
thế nào về việc tạo ra một biến boolean (ví dụ IsCompleted) và thiết lập nó là true trong callback Completed ?
if(storyboard.GetCurrentState() == ClockState.Active)
{
// do something
}
Điều này không hiệu quả.
Storyboard storyBoardPulse = this.FindResource("StoryboardMainIconPulse") as Storyboard;
Storyboard.SetTarget(storyBoardPulse, this.imageIcon);
if (storyBoardPulse.GetCurrentState() != ClockState.Active)
{
storyBoardPulse.Begin();
}
được trở lại lỗi này:
System.InvalidOperationException was unhandled by user code
HResult=-2146233079
Message=Impossible to execute the action. the Storyboard specify not applied to this object for interactive control.
Ao tôi thực hiện một cách giải quyết rất đẫm máu:
private Boolean pulseOn;
private void operationsOfMaintenance_OperationExpired(Boolean state)
{
Storyboard storyBoardPulse = this.FindResource("StoryboardMainIconPulse") as Storyboard;
Storyboard.SetTarget(storyBoardPulse, this.imageIcon);
if (!state)
{
storyBoardPulse.Stop();
storyBoardPulse.Remove();
pulseOn = false;
}
else
{
if(!pulseOn)storyBoardPulse.Begin();
pulseOn = true;
}
}
Có bất kỳ lý do gì để biết tại sao ví dụ đầu tiên gặp lỗi!
cảm ơn
Back-ve cho mã nội tuyến; Đoạn mới và thụt lề 4 dấu cách cho các khối mã (chọn khối mã và nhấn nút "{}" trong trình chỉnh sửa). Happy SO'ing. –
Cảm ơn! Tôi luôn tự hỏi tại sao trình soạn thảo mã lại ghét tôi ... – JavaAndCSharp
chỉ muốn kiểm tra xem liệu câu trả lời dưới đây có phù hợp với câu hỏi của bạn hay không. –