2011-04-20 38 views
5

Có ai có ví dụ WPF về cập nhật ProgressState thông qua các trạng thái enum có sẵn khi tiến hành thông qua ProgressValue không?Sử dụng TaskBarItemInfo trong WPF cho thanh tiến trình trong thanh tác vụ Win 7

Tôi có đoạn mã sau đó liên kết với giá trị tiến bộ của tôi để chạy 0-1:

<Window.TaskbarItemInfo> 
    <TaskbarItemInfo Description="An app with a taskbar info description" 
        ProgressValue="{Binding Count}" ProgressState="Normal"/> 
</Window.TaskbarItemInfo> 

Nhưng, những gì là một cách tốt để đi từ Không để Bình thường để Không hoặc các luồng khác: Không-Bình thường-Tạm dừng-Bình thường-Không có. Đoạn mã trên cho thấy thanh tiến trình ở bên trái ở mức 0% và sau đó kết thúc ở 100% (1). Tôi tưởng tượng tôi có thể ràng buộc điều này với một công cụ chuyển đổi sang một thuộc tính khác treo trên ViewModel của tôi, nhưng muốn xem liệu có ai có bất kỳ giải pháp slicker nào không.

Cảm ơn!

+0

Để được rõ ràng, mô hình quan điểm của tôi là incrementing qua phạm vi 0-1 chỉ tốt (bằng 0,1). Nhưng có XAML ProgressState được đặt thành Normal như trong đoạn mã quá tĩnh. Cần phải chu kỳ thông qua các trạng thái như mô tả. –

Trả lời

3

ProgressValue là đôi giá trị sử dụng 0-1

+0

Tôi biết về ProgressValue, câu hỏi là về ProgressState. –

2

Trong cùng một cách mà bạn đang ràng buộc ProgressValue, bạn cũng có thể ràng buộc ProgressState. Kiểu của ProgressState là một enum được gọi là TaskbarItemProgressState, bao gồm các trạng thái mà bạn đã đề cập.

public enum TaskbarItemProgressState 
{ 
    // Summary: 
    //  No progress indicator is displayed in the taskbar button. 
    None = 0, 
    // 
    // Summary: 
    //  A pulsing green indicator is displayed in the taskbar button. 
    Indeterminate = 1, 
    // 
    // Summary: 
    //  A green progress indicator is displayed in the taskbar button. 
    Normal = 2, 
    // 
    // Summary: 
    //  A red progress indicator is displayed in the taskbar button. 
    Error = 3, 
    // 
    // Summary: 
    //  A yellow progress indicator is displayed in the taskbar button. 
    Paused = 4, 
} 

Tôi nghĩ rằng cách 'slickest' để làm điều này là những cách bạn đã đề cập, hoặc với trình chuyển đổi hoặc bằng tay

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