在 page.resource 内设置宽度 属性

Set width property inside page.resource

我正在尝试根据设备是 PC 还是 phone(UWP 应用程序)来设置 RichTextBlock 的宽度,但我在获取 属性 时遇到问题。 ..

<Page.Resources>
    <DataTemplate x:Key="sectionTemplate">
        <common:RichTextColumns>
            <common:RichTextColumns.ColumnTemplate>
                <DataTemplate>
                    <RichTextBlockOverflow Width="300" Margin="20,0,0,10"/>
                </DataTemplate>
            </common:RichTextColumns.ColumnTemplate>
            <RichTextBlock Margin="10,0,10,10" TextAlignment="Justify" Width="300" TextWrapping="WrapWholeWords">
                <Paragraph>
                    <Run Text="{Binding}" />
                </Paragraph>
            </RichTextBlock>
        </common:RichTextColumns>
    </DataTemplate>
</Page.Resources>

关于最简单的方法有什么建议吗?

使用自定义设备系列状态触发器!

Custom state triggers on GitHub.

<VisualStateManager.VisualStateGroups>
    <VisualStateGroup>
        <VisualState x:Name="desktop">
            <VisualState.StateTriggers>
                <triggers:DeviceFamilyStateTrigger DeviceFamily="Desktop" />
            </VisualState.StateTriggers>
            <VisualState.Setters>
                <Setter Target="richTB.Width" Value="300" />
            </VisualState.Setters>
        </VisualState>
        <VisualState x:Name="mobile">
            <VisualState.StateTriggers>
                <triggers:DeviceFamilyStateTrigger DeviceFamily="Mobile" />
            </VisualState.StateTriggers>
            <VisualState.Setters>
                <Setter Target="richTB.Width" Value="200" />
            </VisualState.Setters>
        </VisualState>
    </VisualStateGroup>
<VisualStateManager.VisualStateGroups>