2016-03-07 3 views
0

Не знаете, почему это не работает ... Ниже я - моя модель ViewModel, которая настроена на мой вид DataContext.Привязка к объекту в представлении ViewModel

public class UploadViewModel : CrudVMBase 
    { 
     #region Commands 
     public CommandVM UploadButtonCommand { get; set; } = 
      new CommandVM 
      { 
       CommandDisplay = "Perform Upload", 
       IconGeometry = App.Current.Resources["pencil30"] as Geometry, 
       Message = new CommandMessage { Command = CommandType.UploadFromCamera } 
      }; 
     #endregion End Commands 

     #region Public Properties 
     UploadInitiation UploadObject { get; set; } = new UploadInitiation(); 
     #endregion End Public Properties 

     public UploadViewModel() 
     { 

     } 

Ниже UploadInitiation класс

public class UploadInitiation : Common.NotifyUIBase 
    { 
     #region Public Properties 
      public ObservableCollection<UploadStep> Steps { get; set; } = new ObservableCollection<UploadStep>(); 
      public int UploadProgress { get; set; } = 45; 
      public string UploadTask { get; set; } = "Idle..."; 
      public bool UploadEnabled { get; set; } = false; 
      public bool UploadBegin { get; set; } = false; 
     #endregion END Public Properties 

     public UploadInitiation() 
     { 
      // Populate steps required, ensure upload returns UI updates 
      Steps.Add(new UploadStep { Message = "Seperate upload to new thread...", Complete = false, Error = null }); 
      Steps.Add(new UploadStep { Message = "Generate new file names...", Complete = false, Error = null }); 
      Steps.Add(new UploadStep { Message = "Render Thumbnails, add to database...", Complete = false, Error = null }); 
      Steps.Add(new UploadStep { Message = "Move images ready for print...", Complete = false, Error = null }); 
     } 
    } 

Это мой Binding, как вы можете видеть им пытаются Привязать к UploadProgress собственности.

<ProgressBar Style="{StaticResource CircularProgress}" Width="180" Value="{Binding UploadObject.UploadProgress}" /> 

Здесь ошибка

System.Windows.Data Error: 40 : BindingExpression path error: 'UploadObject' property not found on 'object' ''UploadViewModel' (HashCode=33902366)'. BindingExpression:Path=UploadObject.UploadProgress; DataItem='UploadViewModel' (HashCode=33902366); target element is 'ProgressBar' (Name=''); target property is 'Value' (type 'Double')

ответ

1

Вам нужно сделать объявить сферу собственности общественного, или он будет закрыт по умолчанию. Следовательно, это не было видно при привязке.

public UploadInitiation UploadObject { get; set; } = new UploadInitiation(); 
+0

Какой я идиот! Я был убежден, что сделал это ... Я даже читал его несколько раз! Благодаря! –

Смежные вопросы