0

我在Silverlight4 VS 2010.中工作。我已將CheckBox放入我的.xaml文件中。我需要它是DataContextChanged事件。但不幸的是我沒有找到它。CheckBox的DataContextChanged事件

這裏是我的複選框:

<CheckBox x:Name="chkRegion" Content="{Binding name}" Click="CheckBox_Click" ></CheckBox> 

能否請你幫我找到DataContextChanged僅在SL 4 VS 2010

感謝,Rajbir

+0

如果你正在尋找這樣做,你需要DataContextChanged事件,如果你能告訴你想做什麼。 – Malcolm

+0

我想在這個事件中實現一些邏輯,因爲我可以改變這個複選框的缺陷屬性。實際上,這個複選框被放置在Combobox的DataTemplate中。 –

+0

那麼爲什麼不使用IValueConverter並將它綁定到數據模板中複選框的IsChecked屬性。如果你想讓我寫一段代碼的例子,可以幫助你讓我知道 – Malcolm

回答

1

實現一個轉換器(它只是一個簡單的類從IValueConverter派生並實現接口方法)

public class ChangeIsCheckedValConverter : IValueConverter 
{ 
    public object Convert(object value, 
          Type targetType, 
          object parameter, 
          System.Globalization.CultureInfo culture) 
    { 
     if (value != null) 
     { 

//這裏的值是你綁定到DataContext的對象 複選框; //首先定義://根據您的寶貴 綁定到你的複選框

} 

    public object ConvertBack(object value, 
           Type targetType, 
           object parameter, 
           System.Globalization.CultureInfo culture) 
    { 
     return null; 
    } 
You will have to add the name space of you newly implemnted converter whereever you will want to use . 

然後使用該轉換器在您的複選框中的DataTemplate定義見下文返回布爾(true或false)關鍵如下:

<converters:VisibilityConverter x:Key="changeConverter" /> 

<CheckBox x:Name="chkRegion" Content="{Binding name}" IsChecked={Binding ,Converter={StaticResource changeConverter}}"} Click="CheckBox_Click" ></CheckBox> 
+1

謝謝你馬爾科姆... –

+0

yw .... happy Coding – Malcolm

相關問題