将 ProgressBar 与 Caliburn.micro 一起使用

本文关键字:一起 micro Caliburn ProgressBar | 更新日期: 2023-09-27 18:34:26

在我的WPF应用程序中,我尝试将控件"ProgressBar"中的属性"Maximum"与ViewModel中的属性绑定(在Caliburn.micro的帮助下)。

视图 (xaml):

<ProgressBar x:Name="CurrentProgress"/>

视图模型:

private int currentProgress;
public int CurrentProgress
{
  get { return currentProgress; }
  set
  {
    if (currentProgress == value)
    {
      return;
    }
    currentProgress = value;
    NotifyOfPropertyChange(() => CurrentProgress);
  }
}

问题:有没有办法用Caliburn.micro绑定最大值。我尝试创建一个属性,例如:

private int maximumProgress;
public int MaximumProgress
{
  get { return maximumProgress; }
  set
  {
    if (maximumProgress == value)
    {
      return;
    }
    maximumProgress = value;
    NotifyOfPropertyChange(() => MaximumProgress);
  }
}

但这行不通。我也在搜索卡利本文档,但在那里找不到一些帮助。

感谢您的帮助

将 ProgressBar 与 Caliburn.micro 一起使用

您可以像其他DependencyProperty一样绑定ProgressBar.Maximum。这应该有效:

<ProgressBar x:Name="CurrentProgress" Maximum="{Binding Path=MaximumProgress}"/>

您的x:Name="CurrentProgress"将转换为Value="{Binding Path=CurrentProgress, Mode=TwoWay}"因此,这样的事情也应该有效:

<ProgressBar Value="{Binding Path=CurrentProgress}" Maximum="{Binding Path=MaximumProgress}"/>