Tôi đang cố gắng thay đổi màu nền trên "ListBox" trên trang WinRT (XAML). Khi tôi sử dụng thuộc tính "Nền", nó thay đổi nền như thế nào tôi muốn nó khi điều khiển không có tiêu điểm. Khi nó được lấy nét, nó chuyển sang màu trắng và tôi không thể tìm ra cách để ghi đè lên nó.Màu nền của ListBox (XAML/WinRT/Metro)
Câu hỏi của tôi, làm cách nào để buộc nền của ListBox luôn là Màu xám cho dù nó được chọn/có tập trung hay không?
XAML # 1:
<ListBox x:Name="ListBoxMenu" Background="LightGray" Grid.Row="0" Grid.Column="0" Margin="0,0,0,0">
<ListBoxItem>Menu Item 1</ListBoxItem>
<ListBoxItem>Menu Item 2</ListBoxItem>
<ListBoxItem>Menu Item 3</ListBoxItem>
</ListBox>
XAML # 2 (với mỗi mục cũng set):
<ListBox x:Name="ListBoxMenu" Background="LightGray" Grid.Row="0" Grid.Column="0" Height="124" VerticalAlignment="Top">
<ListBoxItem Background="LightGray">Menu Item 1</ListBoxItem>
<ListBoxItem Background="LightGray">Menu Item 2</ListBoxItem>
<ListBoxItem Background="LightGray">Menu Item 3</ListBoxItem>
</ListBox>
giải pháp Như tạm thời, tôi đặt ListBox chỉ là một mã được mã hóa cứng tám, sau đó sử dụng một đường viền trên cột đó để điền vào phần còn lại của không gian với LightGray. Tôi thực sự muốn chỉ luôn luôn thiết lập màu nền trên ListBox mặc dù, là điều này có thể?
Bạn có thể vui lòng cung cấp một số đoạn mã cho giải pháp bạn nhận được không? Tôi cũng gặp vấn đề tương tự nhưng không thể khắc phục được. – SachiraChin
Tùy thuộc vào sở thích của bạn, nếu chỉ có một hoặc hai sự kiện kích hoạt thay đổi mặt đất trở lại, bạn có thể chỉ cần thêm ListBoxMenu.Background = Colors.Transparent vào trình xử lý sự kiện. – Hong