【问题标题】:Setter.Target give me an error with "RelativePanel.AlignHorizontalCenterWithPanel"Setter.Target 给我一个“RelativePanel.AlignHorizo​​ntalCenterWithPanel”错误
【发布时间】:2017-11-12 12:03:08
【问题描述】:

我正在开发一个 UWP 应用,我正在使用 Template10。 我有一个TextBlock,在VisualStateNarrow 我想要它RelativePanel.AlignVerticalCenterWithPanel="True"NormalMinWidth 我想要RelativePanel.AlignHorizontalCenterWithPanel="True" 但我不能这样做!

<VisualStateManager.VisualStateGroups>
                <VisualStateGroup x:Name="AdaptiveVisualStateGroup">
                    <VisualState x:Name="VisualStateNarrow">
                        <VisualState.StateTriggers>
                            <AdaptiveTrigger MinWindowWidth="{StaticResource NarrowMinWidth}"/>
                        </VisualState.StateTriggers>
                        <VisualState.Setters>

                           <Setter Target="TextBlock.RelativePanel.AlignVerticalCenterWithPanel="True"/>

                        </VisualState.Setters>
                    </VisualState>
                    <VisualState x:Name="VisualStateNormal">
                        <VisualState.StateTriggers>
                            <AdaptiveTrigger MinWindowWidth="{StaticResource NormalMinWidth}"/>
                        </VisualState.StateTriggers>
                        <VisualState.Setters>

                          <Setter Target="TextBlock.RelativePanel.AlignHorizontalCenterWithPanel="True"/>

                        </VisualState.Setters>
                    </VisualState>
                    <VisualState x:Name="VisualStateWide">
                        <VisualState.StateTriggers>
                            <AdaptiveTrigger MinWindowWidth="{StaticResource WideMinWidth}"/>
                        </VisualState.StateTriggers>
                        <VisualState.Setters>
                        </VisualState.Setters>
                    </VisualState>
                </VisualStateGroup>
            </VisualStateManager.VisualStateGroups>

在 XAML 编辑器中给我这个错误:“抛出异常。” - “无法解析指定对象上的 TargetProperty RelativePanel.AlignHorizo​​ntalCenterWithPanel。”

我有很多 Setter.Target,它们都可以工作! 我的 Setter.Target 示例:

<Setter Target="TextBlock.Margin" Value="8"/>
<Setter Target="TextBlock.Width" Value="200"/>
<Setter Target="TextBlock.Height" Value="200"/>

【问题讨论】:

    标签: c# uwp uwp-xaml template10


    【解决方案1】:

    这是一种无需编写任何代码即可为自适应触发器创建设置器的方法。由于 VS 既不提供 IntelliSense 也不提供错误警告来编写它们,这有助于防止难以诊断的错误。

    1. 转到States 面板,单击以激活您要添加setter 的视觉状态红点将出现在此视觉状态的名称旁边。
    2. 激活后,转到对象和时间线面板并选择您要在此状态下交互的元素。在您的情况下,请选择 TextBlock 元素。
    3. 转到 Properties 面板,展开 RelativePanel 部分或在搜索框中搜索“relative”,一旦出现属性,只需选择您想要的想要改变。

    就是这样!也可以随意查看下面的 gif 演示。

    【讨论】:

      【解决方案2】:

      对于附加属性,您必须在 setter 中添加括号,如下所示:

      Element.(Grid.Row)
      Element.(ToolTipService.ToolTip)
      

      所以您的代码将如下所示:

      <Setter Target="TextBlock.(RelativePanel.AlignVerticalCenterWithPane‌​l)" Value="True" />
      

      【讨论】:

      • 我觉得你在这里抄得太快了。应该是&lt;Setter Target="TextBlock.(RelativePanel.AlignVerticalCenterWithPanel)" Value="True" /&gt;。 ;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-19
      • 1970-01-01
      • 1970-01-01
      • 2015-01-22
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多