MahApps MetroProgressBar 在 ControlTemplate 中不起作用

MahApps MetroProgressBar does not work inside ControlTemplate

我想在我的用户控件中使用 MetroProgressBar。

<UserControl x:Class="WpfApplication7.UserControl1">
    <StackPanel Background="#ccc">
        <controls:MetroProgressBar IsIndeterminate="True"/> 
    </StackPanel>
</UserControl>

它工作正常。但是现在我需要在用户控件中支持外部内容。 所以我创建了一个新的 "UserControl2" 来演示:

<UserControl x:Class="WpfApplication7.UserControl2">
    <UserControl.Resources>
        <Style TargetType="{x:Type local:UserControl2}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type local:UserControl2}">
                        <StackPanel Background="#ccc">
                            <controls:MetroProgressBar IsIndeterminate="True"/>
                            <!--<ContentPresenter/>-->
                        </StackPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </UserControl.Resources>
</UserControl>

然后我把这两个控件都放到表单中:

<StackPanel>
        <local:UserControl1 Background="#ccc"/>
        <local:UserControl2 Background="#ccc" Margin="0,6,0,0"/>
</StackPanel>

结果我看到 UserControl2 没有显示进度条。 我该如何解决?

注意:在设计器中,UserControl2 呈现为预期的进度条。

在您 UserControl2 的样式中,将属性 EllipseDiameterEllipseOffset 设置为某个值(默认值为 4),如下所示:

 <Style TargetType="{x:Type local:UserControl2}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:UserControl2}">
                    <StackPanel Background="#ccc">
                        <controls:MetroProgressBar EllipseDiameter="12" 
                                                   EllipseOffset="12" 
                                                   IsIndeterminate="True"/>
                        <!--<ContentPresenter/>-->
                    </StackPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>