2013-07-29 1 views
0

Im Использование наложения и имеют следующие проблемы:Как я могу изменить Backround цвет прямоугольника в нажав на флажок

Как изменить цвет фона прямоугольника, нажав на флажок? Когда я иду по правому клику, редактирую шаблон, а затем редактирую копию, я могу только отредактировать текущий объект. В этом случае это будет флажок. Но я хочу использовать этот флажок, чтобы отредактировать стиль объекта прямоугольника. Это возможно?

+0

Пожалуйста, покажите нам, что вы пробовали. К сожалению, вряд ли возможно, что люди напишут весь ваш код, не зная, что вы хоть что-то сделали. –

ответ

0

можно привязать к IsChecked собственности и использовать ValueConverter

<CheckBox x:Name="cb" /> 
<Rectangle Fill="{Binding ElementName=cb, Path=IsChecked, Mode=OneWay, Converter={StaticResource CheckedToBackgroundConverter}}" /> 

преобразователь значений

public class CheckedToBackgroundConverter: IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
    return value is bool && (bool)value ? Brushes.Blue : Brushes.Red; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
    return DependencyProperty.UnsetValue; 
    } 
} 

надежду, что помогает

+0

это сделайте это за меня спасибо. Я просто задавался вопросом, есть ли способ сделать это через blend gui без написания кода самостоятельно? – Khaine