我不是新的C#與WPF編程,我從來沒有需要做到這一點,但現在我需要它,我卡住了一段時間了。我需要綁定一個枚舉,該枚舉附加了OnPropertyChanged方法,以在每次枚舉更改時生成一個轉換器。我已經得到了枚舉下面的代碼:綁定枚舉property屬性更改處理程序不提高轉換器
private WindowState windowstate;
public enum WindowState
{
INITIAL = 0,
LANGUAGE = 1,
SENSOR = 2,
PARAMETERS = 3,
LEGAL = 4,
PRIVACY = 5,
ABOUT = 6,
MANUAL = 7
}
public WindowState State
{
get { return windowstate; }
set { windowstate = value; OnPropertyChanged("State"); }
}
而且在這裏我結合我有了這個枚舉的XAML:
Color="{Binding State, Converter={StaticResource ButtonMenuColor}, ConverterParameter=language, ElementName=userControl}"
我想是要改變的顏色按鈕取決於枚舉的值。是否有可能使這種方式或WPF,出於某種原因,不支持這一點?
這是轉換器代碼:
class ButtonMenuColor : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
Lynx.Windows.Herramientas.WindowState state = (Lynx.Windows.Herramientas.WindowState)value;
string param = parameter as string;
if (state.ToString().ToLower() == param)
return Application.Current.FindResource("white") as SolidColorBrush;
return Application.Current.FindResource("buttonmenu_color") as SolidColorBrush;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
你能後的轉換代碼? –
已添加轉換器代碼。 – kelirkenan
您是否向轉換器添加了斷點以查看它是否被擊中或者您是否看不到顏色更改? –