Wpf Caliburn Micro:Progressbar不会将更改的值报告给操作
Progressbar和Caliburn Micro 大家好, 这是我第一个使用Caliburn的项目,所以我可能会错过一些东西 我有下面的xaml和viewmodel。该视图包含一个填充为100%的progressbar,并报告对progressbar方法的更改。 方法按预期激发,但其值参数始终为0.0 我深入源代码,正确地传递了dependency属性并包含了%(例如22.45546),但由于某些原因,我没有意识到该参数没有边界且保持为0.0 非常感谢您的帮助,因为更好地了解Caliburn是我的首要任务 XAMLWpf Caliburn Micro:Progressbar不会将更改的值报告给操作,wpf,mvvm,caliburn.micro,caliburn,Wpf,Mvvm,Caliburn.micro,Caliburn,Progressbar和Caliburn Micro 大家好, 这是我第一个使用Caliburn的项目,所以我可能会错过一些东西 我有下面的xaml和viewmodel。该视图包含一个填充为100%的progressbar,并报告对progressbar方法的更改。 方法按预期激发,但其值参数始终为0.0 我深入源代码,正确地传递了dependency属性并包含了%(例如22.45546),但由于某些原因,我没有意识到该参数没有边界且保持为0.0 非常感谢您的帮助,因为更好地了解Caliburn
结果是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调用ProgressBar(双值)的命令在哪里?此外,你的问题与卡利本无关。你好,狒狒,你用过卡利本吗?如果我没有弄错的话,它将progressbar与约定的方法连接起来,因为它们共享相同的名称。我的错,将它与另一个框架弄错了。
public void ProgressBar(double Value)
{
// Value is always 0.0 ??
}
<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>