Tôi đang làm việc trên ứng dụng WPF. Tôi đã chặn khối chữ của mình vào nút của tôi. Tôi muốn thiết lập foreground của textblock của tôi thành màu đen khi nút được kết hợp của nó isEnabled là true. Tôi muốn thực hiện việc này bằng trình chuyển đổi. Nhưng không hoạt động. cũng không đưa ra bất kỳ lỗi nào. Tôi đã khai báo lớp sau trong thư mục "Mô hình" của mình.sử dụng công cụ chuyển đổi boolean thành màu trong XAML
public class BrushColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if ((bool)value)
{
{
return System.Windows.Media.Colors.Black;
}
}
return System.Windows.Media.Colors.LightGreen;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
Button enable, thay đổi sở hữu isable từ viewmodel (ví dụ sử dụng RaiseCanExecuteChanged)())
điều TextBlock liên quan trong XAML là:
<Window.Resources>
<local:BrushColorConverter x:Key="BConverter"></local:BrushColorConverter>
</Window.Resources>
<Button>(!..all button properties..!)</Button>
<TextBlock x:Name="AnswerText"
Text="Answer"
Foreground="{Binding ElementName=AnswerButton,Path=IsEnabled, Converter={StaticResource BConverter}}"
TextWrapping="Wrap"/>
Thử trở về chuỗi: 'System.Windows.Media.Colors.Black.ToString() ' – sll
Bingo .. thats tuyệt vời. Cảm ơn. – deathrace