2013-07-29 58 views
0

即時通訊使用的混合改變rectange的底色顏色有以下問題:我怎樣才能通過點擊複選框

我如何可以通過點擊複選框更改矩形的背景顏色?當我通過右鍵點擊,編輯模板,然後編輯一個副本,我只能編輯當前對象。在這個CAS中它將是複選框。但是我想用複選框編輯一個rectange對象的樣式。這可能嗎?

+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

這樣做對我來說謝謝。我只是想知道是否有辦法通過混合gui來做到這一點,而無需自己編寫任何代碼? – Khaine