将 AdaptiveTrigger.MinWindowWidth 设置为 TemplateBinding 会导致触发器永远不会执行

Setting AdaptiveTrigger.MinWindowWidth to TemplateBinding causes the trigger to never execute

目前我在 generic.xaml

中的一个自定义控件中有此代码
<VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="VisualStateGroup">
                            <VisualState x:Name="VisualStateNarrow">
                                <VisualState.StateTriggers>
                                    <AdaptiveTrigger x:Name="VisualStateNarrowTrigger" MinWindowWidth="{TemplateBinding VisualStateNarrowMinWidth}" />
                                </VisualState.StateTriggers>
                                <VisualState.Setters>
                                    <Setter Target="PART_SPACER.Visibility" Value="Visible" />
                                </VisualState.Setters>
                            </VisualState>
                            <VisualState x:Name="VisualStateNormal">
                                <VisualState.StateTriggers>
                                    <AdaptiveTrigger x:Name="VisualStateNormalTrigger" MinWindowWidth="{TemplateBinding VisualStateNormalMinWidth}"/>
                                </VisualState.StateTriggers>
                                <VisualState.Setters/>
                            </VisualState>
                        </VisualStateGroup>
</VisualStateManager.VisualStateGroups>

其中VisualStateNarrowMinWidthVisualStateNormalMinWidth为int类型的DependencyProperties,例如:

public int VisualStateNarrowMinWidth
        {
            get { return (int)GetValue(VisualStateNarrowMinWidthProperty); }
            set { SetValue(VisualStateNarrowMinWidthProperty, value); }
        }

        public static readonly DependencyProperty VisualStateNarrowMinWidthProperty =
            DependencyProperty.Register(nameof(VisualStateNarrowMinWidth), typeof(int), typeof(PageHeader), new PropertyMetadata(default(int)));

将 MinWindowWidth 设置为一个整数,如 0 表示窄,521 表示正常,使其执行得很好。我将如何使用它进行绑定?

绑定到 TemplatedParent,像这样:

<AdaptiveTrigger x:Name="VisualStateNarrowTrigger" MinWindowWidth="{Binding VisualStateNarrowMinWidth, RelativeSource={RelativeSource TemplatedParent}}" />