TreeViewItem中的ProgressBar

时间:2017-08-05 18:07:15

标签: c# wpf treeviewitem

我已经创建了一个TreeViewItem,里面有一个ProgressBar。

<DataTemplate>
      <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Height="35" MinWidth="100">
         <CheckBox Name="chk" IsChecked="True" Margin="2" Tag="{Binding}" Style="{DynamicResource myCheckBoxStyle}" />
         <TextBlock Text="{Binding}" Padding="0 10 0 10" Width="100" />
         <ProgressBar x:Name="tvProgressBar" HorizontalAlignment="Right" Width="300" Height="20" Foreground="#FF089ACE"  />
      </StackPanel>
</DataTemplate>

但我似乎无法更新进度条的值,我可以通过

找到进度条
ProgressBar pb = (System.Windows.Controls.ProgressBar)(tv.HeaderTemplate.LoadContent() as StackPanel).FindName("tvProgressBar");

但是当我更新进度条的值时,UI不会更新。如果我在TreeView之外创建一个ProgressBar,则按预期更新,这似乎是我访问TreeViewItem中嵌入的ProgressBar或者需要更新的方式。

1 个答案:

答案 0 :(得分:0)

您如何更新价值?你得到“等待”光标吗?如果是这样,您可能需要使用工作线程来运行UI,以便进度条实际更新,而不只是从0到100。

在进度条控件上查看以下链接:123

Essentialy,试试这个:

echo validation_errors('<div class="alert alert-danger">','</div>');