Фиксированный. Пришлось привязать максимум и значение, и это сработало. В тесте я привязал оба к Int32 (не тестировал привязку обоих к double). Microsoft Я думаю, что это ошибка.

   <ProgressBar Grid.Row="8" Grid.Column="0" HorizontalContentAlignment="Stretch" Height="20" Maximum="{Binding Path=DF.WFBatchFolderStatus.DocCount}" Value="{Binding Path=DF.WFBatchFolderStatus.DocCountComplete}" PresentationTraceSources.TraceLevel="High" />

Что такое протокол. Если я отвечу на свой вопрос, должен ли я удалить вопрос?

Я получаю сообщение об ошибке, когда пытаюсь привязать значение для индикатора выполнения. XamlParseException 'Установить свойство' System.Windows.Controls.Primitives.RangeBase.Value 'вызвало исключение.' Ошибка Grid.Row 8 и Grid.Row 9. Когда я ввожу фиксированные значения (Grid.Row 6 и Grid.Row 7), он работает. Я могу получить значение, к которому хочу привязаться, в TextBlock (Grid.Row 5). Я пробовал привязку к Double и Int 32. Согласно документации Minimum, Maximum и Value двойные. Расчетное значение, при котором он терпит неудачу, равно 2 (и он терпит неудачу при других значениях). Заранее спасибо и отмечу ответ.

    <TextBlock Grid.Row="5" Grid.Column="0" HorizontalAlignment="Left" Text="{Binding Path=DF.WFBatchFolderStatus.DocPctComplete, StringFormat='Document Pct Count:  {0}'}" PresentationTraceSources.TraceLevel="High" />
    <ProgressBar Grid.Row="6" Grid.Column="0" HorizontalContentAlignment="Stretch" Height="20" Minimum="0" Maximum="100" Value="40" />
    <ProgressBar Grid.Row="7" Grid.Column="0" HorizontalContentAlignment="Stretch" Height="20" Minimum="0E0" Maximum="100E0" Value="60E0" />
    <ProgressBar Grid.Row="8" Grid.Column="0" HorizontalContentAlignment="Stretch" Height="20" Minimum="0" Maximum="100" Value="{Binding Path=DF.WFBatchFolderStatus.DocPctCompleteInt}" PresentationTraceSources.TraceLevel="High" />
    <ProgressBar Grid.Row="9" Grid.Column="0" HorizontalContentAlignment="Stretch" Height="20" Minimum="0E0" Maximum="100E0" Value="{Binding Path=DF.WFBatchFolderStatus.DocPctComplete}" PresentationTraceSources.TraceLevel="High" /> 

    public Double DocPctComplete
    {
        get
        {
            if (BatchFolderStatus == enumBatchFolderStatus.Waiting) return 0;
            if (BatchFolderStatus == enumBatchFolderStatus.WaitQC) return 0;
            if (BatchFolderStatus == enumBatchFolderStatus.Complete) return 100;
            if (DocCount < 1) return 0;
            if (DocCountComplete < 1) return 0;
            double docPctComplete = (Convert.ToDouble(DocCountComplete) / Convert.ToDouble(DocCount)) * 100E0;
            Debug.WriteLine("docPctComplete " + docPctComplete.ToString());
            return docPctComplete;
        }
    }
    public Int32 DocPctCompleteInt
    {
        get
        {
            if (BatchFolderStatus == enumBatchFolderStatus.Waiting) return 0;
            if (BatchFolderStatus == enumBatchFolderStatus.WaitQC) return 0;
            if (BatchFolderStatus == enumBatchFolderStatus.Complete) return 100;
            if (DocCount < 1) return 0;
            if (DocCountComplete < 1) return 0;
            double docPctComplete = (Convert.ToDouble(DocCountComplete) / Convert.ToDouble(DocCount)) * 100E0;
            Debug.WriteLine("docPctComplete " + docPctComplete.ToString());
            Int32 docPctCompleteInt = Convert.ToInt32(docPctComplete);
            Debug.WriteLine("docPctCompleteInt " + docPctCompleteInt.ToString());
            return docPctCompleteInt;
        }
    }
1
paparazzo 26 Авг 2011 в 23:29

2 ответа

Лучший ответ

Фиксированный. Пришлось привязать максимум и значение, и это сработало. В тесте я привязал оба к Int32 (не тестировал привязку обоих к double). Microsoft Я думаю, что это ошибка. Если Максимум - XAML, но Значение в привязке не работает (или это не удалось для меня).

3
paparazzo 26 Авг 2011 в 22:19

Ожидается ли двойное значение от 0,0 до 1,0?

Этого не должно быть, но разве это исправляет?

Кроме того, я обычно указываю константы типа Double в коде следующим образом: 0.0D, 1.0D, 100.0D

0
djdanlib 26 Авг 2011 в 19:42