我在Silverlight4 VS 2010中工作。我在.xaml文件中放置了一个CheckBox。我需要它的DataContextChanged事件。但不幸的是我没有找到它。
这是我的CheckBox:
<CheckBox x:Name="chkRegion" Content="{Binding name}" Click="CheckBox_Click" ></CheckBox>
你能帮我找一下SL 4 VS 2010中的DataContextChanged。
谢谢,Rajbir
答案 0 :(得分:1)
实现一个转换器(它只是一个从IValueConverter派生并实现接口方法的简单类)
public class ChangeIsCheckedValConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value != null) {
// value这里是你绑定到DataContext的对象 复选框; //根据您的估值返回bool(true或false) 绑定到您的复选框
} 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中定义复选框,如下所示: //首先定义键如下:
<converters:VisibilityConverter x:Key="changeConverter" />
<CheckBox x:Name="chkRegion" Content="{Binding name}" IsChecked={Binding ,Converter={StaticResource changeConverter}}"} Click="CheckBox_Click" ></CheckBox>