Фиксированный. Пришлось привязать максимум и значение, и это сработало. В тесте я привязал оба к 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;
}
}
2 ответа
Фиксированный. Пришлось привязать максимум и значение, и это сработало. В тесте я привязал оба к Int32 (не тестировал привязку обоих к double). Microsoft Я думаю, что это ошибка. Если Максимум - XAML, но Значение в привязке не работает (или это не удалось для меня).
Ожидается ли двойное значение от 0,0 до 1,0?
Этого не должно быть, но разве это исправляет?
Кроме того, я обычно указываю константы типа Double в коде следующим образом: 0.0D, 1.0D, 100.0D
Похожие вопросы
Связанные вопросы
Новые вопросы
wpf
Windows Presentation Foundation, или WPF, является подсистемой для визуализации пользовательских интерфейсов в приложениях на основе Windows.