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