Caliburn Micro:进度条不报告动作的改变值



Progressbar and Caliburn Micro

你好,

这是我使用Caliburn的第一个项目,所以我可能会错过一些东西。

我有下面的xaml和viewmodel。视图包含一个填充到100%的进度条,它向方法progressbar报告更改。该方法按预期触发,但其Value参数始终为0.0我深入到源代码和依赖属性被正确传递,并包含%(例22.45546),但由于某种原因,我不明白参数是没有边界的,保持0.0

任何帮助都是非常感谢的,因为更好地了解Caliburn是我的首要任务。

XAML

<ProgressBar Width="100" Height="20" x:Name="ProgressBar">
  <ProgressBar.Triggers>
    <EventTrigger
        RoutedEvent="ProgressBar.Loaded">
      <BeginStoryboard>
        <Storyboard>
          <DoubleAnimation
              Storyboard.TargetName="ProgressBar"
              Storyboard.TargetProperty="Value"
              From="0"
              To="100"
              Duration="0:0:5" />
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger>
  </ProgressBar.Triggers>
</ProgressBar>
c#

public void ProgressBar(double Value)
{
      // Value is always 0.0 ??
}

实际情况是0.0是Double的默认值。
你请求一个double,但是Caliburn不知道该放什么进去,所以它返回默认值。

从文档中,您应该查看以下语法:

<ProgressBar
            Width="100"
            Height="20"
            x:Name="ProgressBar">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="ProgressChanged">
                    <cal:ActionMessage MethodName="ProgressBar"> 
                            <cal:Parameter Value="{Binding ElementName=ProgressBar, Path=Value}" />
                    </cal:ActionMessage>
                </i:EventTrigger>
            </i:Interaction.Triggers>
            <ProgressBar.Triggers>
                <EventTrigger RoutedEvent="ProgressBar.Loaded">
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation Storyboard.TargetName="ProgressBar"
                                             Storyboard.TargetProperty="Value"
                                             From="0"
                                             To="100"
                                             Duration="0:0:5" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </ProgressBar.Triggers>
        </ProgressBar>

其中i:为System.Windows.Interactivity

相关内容

  • 没有找到相关文章

最新更新