我有一个类“ BoolValue”,我在其中声明一个布尔值并将其转换为Dependency Property(希望我已经做对了)现在在xaml中,我有一个复选框要根据布尔值进行检查/取消选中。 我邀请了整个代码专家,请帮忙。

<StackPanel Height="287" HorizontalAlignment="Left" Margin="78,65,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="309" DataContext="xyz" >
  <CheckBox Content="" Height="71" Name="checkBox1" IsChecked="{Binding Path=IsCkecked, Mode=TwoWay}"/>
</StackPanel>

这是课程

public class BoolValue : INotifyPropertyChanged
    {        
        private bool _isCkecked;

        public bool IsCkecked
        {
            get { return _isCkecked; }
            set
            {
                if (value == _isCkecked)
                    return;

                _isCkecked = value;
                RaisePropertyChanged("IsCkecked");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string property)
        {
            PropertyChangedEventArgs args = new PropertyChangedEventArgs(property);
            var handler = this.PropertyChanged;
            //handler(this, args);
            if (handler != null)
            {
                handler(this, args);
            }
        }       
    }

===============>>#1 票数:0

您的StackPanel的实际DataContext是什么? 看起来您在寻找属性更改,但在不同的DataContext

提供BoolValue是您的CheckBox的DataContext ,下面应该可以工作:

public class BoolValue : INotifyPropertyChanged
{ 
    private bool isChecked;
        public bool IsChecked
        {
            get { return isChecked; }
            set
            {
                if (isChecked != value)
                {
                    isChecked = value;
                    NotifyPropertyChanged("IsChecked");
                }
            }
        }


    public event PropertyChangedEventHandler PropertyChanged;
        public void NotifyPropertyChanged(String propertyName)
        {
            // take a copy to prevent thread issues
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
}

XAML:

<CheckBox IsChecked="{Binding IsChecked, Mode=TwoWay}"/>

  ask by Dheeraj translate from so

未解决问题?本站智能推荐:

1回复

Silverlight将一个UIElement的属性动态绑定到另一个UIElement的属性

椭圆和线的列表作为子级添加到LayoutRoot。 椭圆之间的线连接。 如何将这两个元素绑定在一起,以便在椭圆移动时线也应该移动? 如何将X1属性,X2属性,Y1属性,Y2属性绑定到椭圆的中心?
2回复

通过绑定渲染非UIElement

如果我有一个派生自System.Windows.DispatcherObject的对象,但定义了ControlTemplate 。 是的成员 是否可以通过诸如 假设border的DataContext设置为B的实例?
1回复

从ObservableCollection中添加或删除项目时,绑定到ObservableCollection的WP7 UIElement属性不会更新

在以下代码中:当从集合中添加或删除项目时,绑定到ObservableCollection的UIElement不会更新。 特别: 一个Person对象包括一个ObservableCollection属性Links,它可以包含可以引用其他Person对象的任意数量的Link对象。 Pe
2回复

如何获取UIElement的DataContext?

由于UIElement没有属性DataContext ,如何获取UIElement的DataContext ?
1回复

Silverlight:将UIElement绑定到ListBoxItems时发生TargetInvocationException

我创建一个ListBox并将ItemsSource绑定到对象列表: MainPage.xaml : Model.cs : 和 ViewModel.cs : 单击Button更改模型的来源。 问题 : 单击Button并滚动List
2回复

如何绑定到ItemTemplate中的父UIElement?

我试图绑定到MainWindow的属性,但是从DataTemplate的ContextMenu绑定。 我怎样才能做到这一点? 我不能使用ElementName ,因为contextMenu不是可视树的一部分 我不能使用PlacementTarget ,因为这将给出DataTe
2回复

如何制作UIElement的深层副本?

所以我有一个为Silverlight应用程序提供服务的打印组件。 该程序中的其他模块能够发信号通知打印组件并将其传递给UIElement ,然后打印组件将绘制到屏幕上。 一切都很好。 当我尝试操作UI元素以便更好地格式化它以适合用户选择的纸张大小或任何相应的效果时,就会出现问题; 似乎传
1回复

如何将Silverlight UiElement的图像添加到Word文档

我想在Silverlight中将某个DataGrid的图像添加到Word Document中。 我已经创建了DataGrid的WriteableBitmap ,但是找不到如何将此图像复制到Word文档中。 它不必是WriteableImage 。 任何可行的解决方案对我来说都很好。
1回复

在Silverlight中删除UIElement的父级

我有一个UIElement对象,如何删除它的父对象? 我看到UIElement父属性没有设置方法。 任何建议都会有所帮助。 编辑:
2回复

在运行时UIElement的投放错误

执行此操作时出现运行时错误。 我有这个课: 当我这样做时,它可以正常编译,但是会引发运行时错误... 我得到的错误是无法将AnnObject强制转换为UIElement 。 有人可以简要解释一下这种行为吗?