小编use*_*999的帖子

在自定义用户控件的DependencyProperty上绑定不更新更新

我在自定义用户控件上进行数据绑定时遇到了困难.我创建了一个示例项目来突出我的问题.我是WPF的新手,也是MVVM的新手,所以请耐心等待......

我创建了一个使用数据绑定两种方式的简单视图.内置控件上的数据绑定工作正常.我的自定义控件没有...我在PropertyChangedCallback我的控件中放了一个断点.它在启动时被击中一次,但从未再次被击中.与此同时,我已经绑定到相同价值的标签很高兴倒计时.

我错过了什么?我的示例项目如下:

主窗口:

<Window x:Class="WpfMVVMApp.MainWindow"
        xmlns:local="clr-namespace:WpfMVVMApp"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.DataContext>
            <local:CountdownViewModel />
        </Grid.DataContext>
        <Label Name="custName" Content="{Binding Path=Countdown.ChargeTimeRemaining_Mins}" Height="45" VerticalAlignment="Top"></Label>
        <local:UserControl1 MinutesRemaining="{Binding Path=Countdown.ChargeTimeRemaining_Mins}" Height="45"></local:UserControl1>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

这是我的模特:

namespace WpfMVVMApp
{

    public class CountdownModel : INotifyPropertyChanged
    {
        private int chargeTimeRemaining_Mins;
        public int ChargeTimeRemaining_Mins
        {
            get
            {
                return chargeTimeRemaining_Mins;
            }
            set
            {
                chargeTimeRemaining_Mins = value;
                OnPropertyChanged("ChargeTimeRemaining_Mins");
            }
        }

        #region INotifyPropertyChanged Members
        public event PropertyChangedEventHandler PropertyChanged;
        private void OnPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf user-controls dependency-properties

12
推荐指数
2
解决办法
3万
查看次数