ContentDialog 最大宽度

问题描述 投票:0回答:5

我正在尝试在我的应用程序中创建一个设置菜单,如下所示

我知道该怎么做,但我对内容对话框的宽度有疑问,显然宽度有限制。

这是我的内容对话框的代码:

Title="" Margin="12,0,-12,0" HorizontalAlignment="Stretch" Width="800" Height="600" VerticalAlignment="Stretch" Background="{x:Null}">
<Grid x:Name="Main" ScrollViewer.VerticalScrollBarVisibility="Auto" Width="800">
    <Grid.RowDefinitions>
        <RowDefinition Height="58"/>
        <RowDefinition Height="58"/>
        <RowDefinition/>
        <RowDefinition Height="76"/>
    </Grid.RowDefinitions>
    <TextBox x:Name="Title_TextBox" Text="" Margin="10,10,10,0" PlaceholderText="Please enter your story title..." RequestedTheme="Light" FontSize="16" MaxLength="50" Grid.Row="1" />
    <TextBox x:Name="Experience_Text" Text="" Grid.Row="2" Margin="10,10,10,0"  PlaceholderText="Please tell your experience..." MaxLength="500" FontSize="16" TextWrapping="Wrap" MinHeight="42" AcceptsReturn="True" RequestedTheme="Light" ScrollViewer.VerticalScrollBarVisibility="Auto" VerticalAlignment="Center" Height="190" />
    <Grid x:Name="CharacterGrid" Grid.Row="3" Margin="10,0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="48"/>
            <ColumnDefinition Width="64"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <TextBlock x:Name="CharacterLeft" Margin="0" TextWrapping="Wrap" Text="" TextAlignment="Right" FontSize="16" Grid.Column="2" VerticalAlignment="Top" RequestedTheme="Light" />
        <Button x:Name="CameraButton" FontFamily="Segoe MDL2 Assets" Content="&#xE722;" Background="Transparent" VerticalAlignment="Top" Margin="0,5,0,0" HorizontalAlignment="Left" FontSize="21.333" RequestedTheme="Light" Width="48" Height="48"/>
    </Grid>
    <Grid x:Name="LocationGrid" Margin="10,10,10,0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition Width="48"/>
        </Grid.ColumnDefinitions>
        <TextBlock x:Name="LocText" Margin="0" TextWrapping="Wrap" Text="Location will be here...." FontSize="16" VerticalAlignment="Center" RequestedTheme="Light" TextAlignment="Center"/>
        <Button x:Name="LocationButton" FontFamily="Segoe MDL2 Assets" Content="&#xE81D;" Background="Transparent" VerticalAlignment="Center" Margin="0" HorizontalAlignment="Right"  FontSize="21.333" RequestedTheme="Light" Width="48" Height="48" Grid.Column="1"/>
    </Grid>
</Grid>
c# xaml uwp uwp-xaml
5个回答
23
投票

在您的

App.xaml
中,尝试将
ContentDialogMaxWidth
设置为
800
。默认为
548
。您可能也想增加高度。

<Application.Resources>
    <x:Double x:Key="ContentDialogMaxWidth">800</x:Double>
    <x:Double x:Key="ContentDialogMaxHeight">756</x:Double>
</Application.Resources>

3
投票

只需在

initialize component

之后添加此代码
this.width = Window.Current.Bounds.Width;

内容对话框将获取您的屏幕宽度


2
投票

我所要做的就是在初始化组件之后添加此代码

this.width = Window.Current.Bounds.Width;

内容对话框将获取您的屏幕宽度..谢谢大家,希望这将帮助任何人搜索它!


1
投票

不,最好单独设计 ContentDialog,只需将其添加到内容对话框 XAML 中:

<ContentDialog.Resources>
      <x:Double x:Key="ContentDialogMaxWidth">1200</x:Double>
      <x:Double x:Key="ContentDialogMaxHeight">1000</x:Double>`
</ContentDialog.Resources>

现在您可以为内容对话框设置任何尺寸:)


0
投票

除了现有的解决方案之外,如果有人想要增加自定义内容对话框的宽度,同时保持默认的 WinUI 样式(也许是 UWP,不确定),您可以在自定义内容对话框 XAML 文件中执行此操作:

<ContentDialog.Resources>
    <!--ContentDialog style inheritance; Issue : https://github.com/microsoft/microsoft-ui-xaml/issues/6154-->
    <Style TargetType="local:CustomContentDialogName" BasedOn="{StaticResource DefaultContentDialogStyle}"/>

    <!-- Overriding ContentDialogMaxWidth value -->
    <x:Double x:Key="ContentDialogMaxWidth">1200</x:Double>
</ContentDialog.Resources>
© www.soinside.com 2019 - 2024. All rights reserved.