我正在開發一個需要檢查某些可用性屬性的小應用程序。我正在使用WPF的用戶界面。如果從組合框中進行選擇,我需要更改一些前景色。我有這樣的DataTemplate:布爾轉換器在WPF中的多個綁定
<DataTemplate x:Key="userTemplate">
<TextBlock VerticalAlignment="Center">
<Image Source="imgsource.png" Height="25" Width="25" />
<Run Text="{Binding BooleanObjectName}" Foreground="{Binding boolobject, Converter={StaticResource convAvailability}}"/>
</TextBlock>
所以我用這個皈依一個的IValueConverter那臺色到前景:
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
BooleanObject boolobject = (BooleanObject)value;
if (boolobject.IsBoolValueOne) return System.Drawing.Brushes.Green;
else if (boolobject.IsBoolValueTwo) return System.Drawing.Brushes.Red;
else if (boolobject.IsBoolValueThree) return (SolidColorBrush)(new BrushConverter().ConvertFrom("#d3d300"));
else return System.Drawing.Brushes.Black;
}
什麼是錯,因爲在我界面我總是得到黑色。對此有何想法?
任何幫助將非常感激。 在此先感謝。
你需要一個[刷子](https://msdn.microsoft.com/en-us /library/system.windows.media.brushes(v=vs.110).aspx)從WPF項目中的System.Windows.Media命名空間中獲取,System.Drawing命名空間用於WinForms。 – Funk
你的Convert方法被調用了嗎? – mm8
@ mm8我試過調試,我認爲它沒有被調用 – R3muSGFX