我已经创建了一个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或者需要更新的方式。