我正在创建一个仅在宽屏自助服务终端系统上运行的UWP应用程序(所以我不需要担心布局如何缩小到手机等)。
我正在尝试使用ContentDialog
在主要对话框之上创建弹出对话框。我遇到的问题是ContentDialog
似乎在1920x1080上具有550像素的固定最大宽度,这使得在最佳情况下屏幕的使用相对较差并且将切断内容(或强制在其他人中不必要地使用ScrollViewer
容器。
我已尝试在Width="600"
上设置ContentDialog
以及内容使用的任何容器StackPanel
或Grid
)。当我对ContentDialog
本身执行此操作时,宽度不受影响,但较大的值会将其从屏幕中心移开。在内容上,它会导致内容尝试超出ContentDialog
的右边缘并被切断。
更改MinWidth
和MaxWidth
同样无效。
如何强制ContentDialog
占据屏幕的更大部分,或者用更灵活的替代品替换它?
<ContentDialog
x:Name="passCodeContentDialog">
<ContentDialog.TitleTemplate>
<DataTemplate>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="130"/>
<ColumnDefinition Width="230"/>
<ColumnDefinition Width="130"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1" x:Uid="PgVgWizardInfoTitle" Text="Title" HorizontalAlignment="Center"/>
<Button Grid.Column="2" Content="Close" HorizontalAlignment="Right"/>
</Grid>
</DataTemplate>
</ContentDialog.TitleTemplate>
<StackPanel >
<TextBlock Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at mi varius, viverra enim vehicula, pharetra metus. Phasellus ipsum lacus, porttitor consectetur lectus id, pharetra luctus leo. Fusce vitae elit et augue varius porttitor vitae eget lectus. Duis mauris tortor, faucibus eget ultricies a, porta ac arcu. Quisque in arcu cursus, sagittis lorem ut, posuere augue. Donec eu pharetra sapien. Cras eu pharetra lectus, eget condimentum purus." TextWrapping="Wrap" Margin="0,0,0,10"/>
<TextBlock Text="Phasellus tincidunt ultricies lobortis. Sed laoreet ullamcorper metus, quis efficitur ante venenatis quis. Ut gravida id risus ut pharetra. Integer cursus eros ex, sit amet luctus lacus commodo at. Donec nec tellus ornare, lacinia ex non, maximus tellus. Vestibulum dui dolor, malesuada in ex quis, faucibus luctus justo. Mauris ac augue non velit tempor porttitor in sollicitudin purus. Integer accumsan condimentum ipsum, sit amet cursus ipsum fermentum nec. Praesent ac viverra sapien. Maecenas accumsan vel libero et fringilla. Pellentesque porta, dui vitae efficitur imperdiet, lectus nunc ultricies mi, non consectetur mauris leo sit amet orci. Ut dictum pellentesque lacus vel vulputate. Etiam urna massa, scelerisque ac odio eget, sodales euismod ipsum. Sed porta diam nulla, in facilisis nisl aliquet eu. Proin commodo interdum pellentesque." TextWrapping="Wrap" Margin="0,0,0,10"/>
<TextBlock Text="Phasellus at luctus justo. Donec quis consectetur nisi. Ut vitae eros consectetur, pharetra risus condimentum, aliquam quam. Maecenas fermentum leo quis odio efficitur auctor. Ut ex purus, porttitor ac tortor in, dignissim tempor magna. Quisque lectus tortor, viverra id tellus eget, porta varius orci. Nulla facilisi. Fusce pulvinar massa vitae justo sollicitudin lobortis. Vestibulum volutpat bibendum eros et sollicitudin. Nunc non condimentum turpis. Donec nec ipsum convallis, dignissim eros in, dictum magna. Quisque pulvinar tellus justo, non condimentum orci porta a. Duis quis dolor molestie, varius orci quis, convallis nisl. Phasellus nec nisl id tortor gravida fermentum eget sit amet risus." TextWrapping="Wrap" Margin="0,0,0,10"/>
<TextBlock Text="Cras venenatis faucibus fringilla. Maecenas quis felis condimentum, ultricies diam sed, tincidunt elit. Suspendisse ultricies sapien vitae dolor dictum ullamcorper. Aliquam tristique justo maximus semper pellentesque. Maecenas eget dapibus arcu. Morbi imperdiet nisi a varius scelerisque. Proin convallis enim at fermentum ultrices. Sed nec molestie arcu, non egestas nibh. In a sollicitudin diam. Fusce ut facilisis nisl. Maecenas ut metus quis quam aliquam dignissim. Ut at pretium justo. Ut molestie mi at ex porttitor gravida. Nam nec ipsum turpis. Nam malesuada neque vitae nibh scelerisque, at iaculis felis pretium." TextWrapping="Wrap" Margin="0,0,0,10"/>
<TextBlock Text="Curabitur vel commodo risus. Praesent vitae laoreet erat. In et euismod metus. Vivamus ipsum tortor, tincidunt eu viverra sed, tincidunt et velit. Vestibulum efficitur, neque eget ultricies vulputate, nisi nulla mattis sem, sit amet suscipit elit ante non mauris. Cras maximus mauris vel nulla hendrerit, et vulputate metus tristique. Morbi leo diam, eleifend et risus et, mollis sodales velit. Phasellus pretium dui sit amet nibh maximus, et viverra erat iaculis. Ut convallis sit amet enim a porta. Vivamus hendrerit lorem nec magna porta interdum ac at lorem. Sed lorem diam, vulputate ut dui a, ultrices bibendum eros. Phasellus dignissim ex quis augue semper sagittis. Nullam eu lorem rhoncus, commodo massa eget, gravida metus. Nam ultricies purus leo, malesuada fermentum nulla malesuada dapibus. Etiam feugiat posuere quam, ultricies ultrices nunc euismod at. " TextWrapping="Wrap" Margin="0,0,0,10"/>
</StackPanel>
</ContentDialog>
答案 0 :(得分:1)
如何强制ContentDialog占据屏幕的更大部分,或者用更灵活的替代方案替换它?
ContentDialog
的默认最大宽度为548像素。如果您想使用更广泛的ContentDialog,您可以使用您的ContentDialogMaxWidth
XAML主题资源
Application Resources
如下所示。
<Application
x:Class="FileAccessTest.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:FileAccessTest"
RequestedTheme="Light">
<Application.Resources>
<ResourceDictionary>
<x:Double x:Key="ContentDialogMaxWidth">1000</x:Double>
</ResourceDictionary>
</Application.Resources>
</Application>
有关详情,请参阅ContentDialog styles and templates。