2011-12-26 57 views
0

進度和卡利微卡利微:進度條不改變的值報告給行動

您好所有,

這是用我的卡利第一個項目,所以我可能失去了一些東西。

我有下面的xaml和viewmodel。該視圖包含一個填充爲100%的進度條,並報告方法ProgressBar的更改。 該方法按預期方式被觸發,但其Value參數始終爲0.0 我將其嵌入源代碼並正確傳遞依賴項屬性幷包含%(例如22.45546),但出於某種原因,我不理解參數isn' t有界並保持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

哪裏是調用進度(double值)的指揮?此外,你的問題與Caliburn無關。 – 2011-12-26 12:24:30

+0

你好狒狒,你有沒有使用過Caliburn?如果我沒有弄錯,因爲它們共享相同的名稱,它會按照Convention的方法連接進度條。 – buckley 2011-12-26 13:07:56

+0

我的不好,把它弄錯了與另一個框架。 – 2011-12-26 13:18:02

回答

1

會發生什麼事是0.0是雙倍的默認值。
您要求加倍,但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