在page.resource中设置宽度属性

本文关键字:属性 设置 page resource | 更新日期: 2023-09-27 18:14:14

我正试图根据设备是PC还是手机(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>

有什么最简单的方法吗?

在page.resource中设置宽度属性

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

在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>