当我不想要它们到WPF时,按钮会调整页面大小

时间:2017-05-28 17:44:02

标签: c# .net wpf

您好我在Main_Page.xaml中添加了一些按钮,并且在运行应用程序时它们会随窗口调整大小,我不想这样做。我希望他们在运行应用程序时保持相同的比例。

按钮名称为:Exercise_tab_left_button,Exercise_tab_right_button

<Page x:Class="TrackFit_Project.Main_Page"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
  xmlns:local="clr-namespace:TrackFit_Project"
  mc:Ignorable="d" 
  d:DesignHeight="453.635" d:DesignWidth="855.207"
  Title="Main_Page"
  ShowsNavigationUI = "false" >

<TabControl Margin="10,10,10.333,10.333">
    <TabItem Header="Exercise"
           HorizontalAlignment="Left"
           Width="58"
           Height="22"
           Margin="-2,-2,0,0"
           VerticalAlignment="Top">
        <Grid Background="#FFE5E5E5">
            <Button x:Name="Exercise_Tab_Profile_Button" HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Click="profileButtonClick">
                <Image>
                    <Image.Source>stock profile image.png</Image.Source>
                </Image>
            </Button>
            <Rectangle x:Name="Exercise_tab_rectangle" Fill="#FFCFC6C6" HorizontalAlignment="Left" Height="295" Margin="137,50,0,0" Stroke="Black" VerticalAlignment="Top" Width="625"/>
            <TextBlock HorizontalAlignment="Left" Height="234" Margin="169,87,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="548"/>
            **<Button x:Name="Exercise_tab_left_button" Content="&lt;" Margin="148,189,655,154" FontSize="18" FontWeight="Bold"/>
            <Button x:Name="Exercise_tab_Right_button" Content="&gt;" Margin="717,189,83,155" FontSize="18" FontWeight="Bold"/>**
            <TextBlock x:Name="Log_Out_Text_Block" HorizontalAlignment="Left" Margin="10,105,0,0" TextWrapping="Wrap" VerticalAlignment="Top" FontWeight="Bold">
                    <Hyperlink x:Name="Log_out_hyperlink" Click="Log_out_hyperlink_Click">Log out</Hyperlink>
            </TextBlock>
        </Grid>
</TabControl>

This is what i want it to look like This is what i end up getting when i run the app

1 个答案:

答案 0 :(得分:1)

您必须指定属性HeightWidth,而不是使用Margin属性间接设置这些值。

目前Margin属性确定按钮在Grid中排列时的宽度和高度。当UI是静态的时,这可能很有用,并且在调整窗口大小时不能调整大小。

假设您希望UI动态调整大小,您应该以这样的方式将RectangleTextBlockButton嵌入到第二个Grid中(您可能想要找出Margin和按钮大小的正确值:

<Grid Margin="137,50,10,10">
    <Rectangle x:Name="Exercise_tab_rectangle" Fill="#FFCFC6C6" Stroke="Black" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
    <TextBlock HorizontalAlignment="Stretch" Height="234" Margin="32,37" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Stretch" />
    <Button x:Name="Exercise_tab_left_button" Content="&lt;" Margin="11" VerticalAlignment="Center" HorizontalAlignment="Left" Width="20" Height="50" FontSize="18" FontWeight="Bold"/>
    <Button x:Name="Exercise_tab_Right_button" Content="&gt;" Margin="11" VerticalAlignment="Center" HorizontalAlignment="Right" Width="20" Height="50" FontSize="18" FontWeight="Bold"/>
</Grid>