Làm cách nào để gắn màu nền cửa sổ mặc định của chủ đề vào nền Cửa sổ?Làm cách nào để liên kết nền cửa sổ với màu nền của cửa sổ của chủ đề?
Tôi đã thử những điều sau đây:
<Window x:Class="Shell"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Shell"
Height="300"
Width="300"
Background="{DynamicResource WindowBackgroundBrush}"
>
Nhưng màu nền ám như màu đen và điều đó dường như không đúng khi sử dụng theme Luna. Sử dụng chủ đề Luna, tôi sẽ mong đợi màu be/nâu nhạt thường thấy trong Windows XP.
UPDATE: Sau khi đọc câu trả lời của bạn, chơi với StyleSnooper và suy nghĩ một số chi tiết về vấn đề này tôi đã đi đến kết luận sau:
Window sẽ sử dụng SystemColors.WindowBrush như màu nền của nó theo mặc định. Màu này là màu trắng trong hầu hết các chủ đề tôi đã thử và đó có lẽ là OK. Tôi tin rằng màu trắng cũng là màu nền của Windows trong WinForms. Tuy nhiên, màu nền mẫu mặc định trong WinForms không phải là nền cửa sổ mà là điều khiển. Vì vậy, nếu tôi muốn màu đó tôi đã sử dụng SystemColors.ControlBrush
như được chỉ ra bởi Lucas.
Tại một thời điểm, tôi đã cố gắng đạt được màu Kiểm soát nâu/be màu của WinForms trên Windows XP. Điều này có thể không thực hiện được trên Windows Vista vì màu Điều khiển trên Vista có màu xám. Chạy một ứng dụng WinForms trên Windows Vista sẽ không hiển thị nó dưới dạng màu be/nâu, nhưng màu xám. Trong trường hợp này, tôi đoán chúng ta phải áp dụng các phong cách tùy chỉnh của riêng mình để đạt được Windows XP "gốc" trên Vista.
Cảm ơn mọi người đã giúp tôi sắp xếp việc này!
Bạn đã giải quyết vấn đề này chưa? Tôi muốn thay đổi nền trên một kích hoạt. – nportelli
Điều này: http://stackoverflow.com/a/1955583/492 –