Здесь я вижу две проблемы:
1.Ваша кисть для переднего плана не может быть определена.Когда вы запускаете это в отладчике, ищите ошибки привязки в окне вывода.
Попробуйте изменить
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
на
<Setter Property="Foreground" Value="Black" />
Если другоедетали не отображаются, у вас могут быть другие неопределенные кисти.
2.Ваши имена могут не совпадать с именами PART, ожидаемыми в WPF.Вот пользовательский стиль индикатора выполнения для WPF, который может быть лучшей отправной точкой:
<Style x:Key="ProgressBar-sterling" TargetType="{x:Type ProgressBar}">
<Setter Property="Foreground" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ProgressBar}">
<Border Background="#00E6E6E6" BorderBrush="#FFA6A6A6" BorderThickness="1" SnapsToDevicePixels="True" >
<DockPanel x:Name="PART_Track" LastChildFill="false">
<Border x:Name="PART_Indicator" HorizontalAlignment="Left" SnapsToDevicePixels="True">
<Grid Margin="1">
<Rectangle Fill="#FF737373" SnapsToDevicePixels="True" />
<Rectangle x:Name="Overlay" IsHitTestVisible="False" Opacity="0.4" SnapsToDevicePixels="True">
<Rectangle.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Transparent" Offset="1"/>
<GradientStop Color="#FFFFFFFF" Offset="0"/>
<GradientStop Color="#FFFFFFFF" Offset="0.124"/>
<GradientStop Color="Transparent" Offset="0.72"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
</Grid>
</Border>
</DockPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Одна вещь, которую я хотел бы сделать, это создать пример приложения Silverlight и использовать любые стили SL, в которые вы импортируете работу.SL, прежде чем пытаться портировать их на WPF.Кроме того, Expression Blend предоставляет примеры стилей в стилях Simple и SketchFlow и может значительно упростить создание пользовательских стилей из существующих элементов управления.