跨进度条值移动网格

时间:2015-10-08 12:42:11

标签: wpf progress-bar

我尝试创建简单的文字并移入我的Progress Bar值,因此Progree Bar GridTextBlock <Controls:MetroProgressBar Name="progressBar" Width="500" Height="2" Value="0" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Gray" Margin="0,0,0,0"/> <Grid Name="myGrid" Margin="0,0,0,0"> <TextBlock Name="tbTest" Text="{Binding ElementName=progressBar, Path=Value}" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="16" Margin="255,-35,0,0" /> </Grid>

ProgressBar

现在在我的计时器事件中,我正在更改Grid值并尝试移动if (progressBar.Value < 100) { progressBar.Value += 10; Grid grid = VisualTreeHelper.GetChild(progressBar, 0) as Grid; if (grid != null) { var decorator = grid.Children.OfType<FrameworkElement>().FirstOrDefault(x => x.Name == "PART_Indicator"); if (decorator != null) myGrid.RenderTransform = new TranslateTransform(decorator.ActualWidth, myGrid.RenderTransform.Value.OffsetY); } }

grid

现在虽然TextBlock变量不为空,但我的 function test() { var str = "ampere 13th\'."; alert(str.replace(/\\/g, "&#92").replace("'", "&#39;").replace(".", "&#46;").replace("%", "&#37;").replace("\"", "&#34;")); } 现在仍在移动。

1 个答案:

答案 0 :(得分:0)

你有什么作品,你只是因为TextBlock的边缘而没有看到它。如果你摆脱它然后它移动,无论它是否正在做你想要的,我不确定。

我建议清理一些XAML,利润是好事,但可能导致很难找到问题。我建议将ProgressBarGrid包裹在StackPanel中并删除所有内容的边距。

<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
    <Grid Name="myGrid">
        <TextBlock Name="tbTest"
                   HorizontalAlignment="Left"
                   VerticalAlignment="Center"
                   FontSize="16"
                   Foreground="White"
                   Text="{Binding ElementName=progressBar,
                                  Path=Value}" />
    </Grid>
    <ProgressBar Name="progressBar"
                 Width="500"
                 Height="2"
                 HorizontalAlignment="Center"
                 VerticalAlignment="Center"
                 Foreground="Gray"
                 Value="0" />
</StackPanel>

我保留了其余的代码,并且有效。