我今天刚刚从WinForms切换到WPF。
我现在面临的问题是在某一点之后,当我运行应用程序时,以下所有内容都会被切断(在设计师我看到了一切。
宽度为1920,高度为1080.我使用的是WindowState="Maximized"
,也许这就是为什么?
我想要创建一个全屏应用程序,但是再次 - 在某一点之后,当我运行应用程序时,下面的所有内容都会被切断
我只想把它们放在任何地方,并让它们留在那里,没什么特别的。所以,也许是一个"网格"不需要?
这是XMAL代码:
<Window x:Class="KodeOS.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:KodeOS"
mc:Ignorable="d"
Title="KodeOS" Height="1080" Width="1920" WindowStartupLocation="CenterScreen" WindowState="Maximized" WindowStyle="None">
<Grid>
<Grid.Background>
<ImageBrush ImageSource="pack://siteoforigin:,,,/Resources/kdroid_wallpaper1.png"/>
</Grid.Background>
<Label x:Name="label" Content="KodeOS" HorizontalAlignment="Left" VerticalAlignment="Top" FontFamily="Segoe Print" FontSize="18.667" Margin="10,0,0,0" Foreground="White"/>
<Label x:Name="label1" Content="by Kamil" HorizontalAlignment="Left" Margin="10,24,0,0" VerticalAlignment="Top" FontFamily="Segoe Print" Foreground="White"/>
<Button x:Name="button" Content="After here everything will be cut off" HorizontalAlignment="Left" Margin="18,665,0,0" VerticalAlignment="Top" Width="255" RenderTransformOrigin="0.526,-0.807" Height="44"/>
<Button x:Name="button_Copy" Content="I'm past the cut off zone" HorizontalAlignment="Left" Margin="37,814,0,0" VerticalAlignment="Top" Width="179" RenderTransformOrigin="0.526,-0.807" Height="30"/>
</Grid>
答案 0 :(得分:1)
基本上,您不会通过定义边距来对齐网格中的内容 - 您需要为标签/按钮分配专用的行和列/无论
例如,这段代码
<Grid Background="Gray">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label x:Name="label" Grid.Column="0" Grid.Row="0" Content="KodeOS" HorizontalAlignment="Left" VerticalAlignment="Top" FontFamily="Segoe Print" FontSize="18.667" Foreground="White"/>
<Label x:Name="label1" Grid.Column="1" Grid.Row="0" Content="by Kamil" HorizontalAlignment="Left" VerticalAlignment="Top" FontFamily="Segoe Print" Foreground="White"/>
<Button x:Name="button" Grid.Column="0" Grid.Row="1" Content="After here everything will be cut off" HorizontalAlignment="Left" VerticalAlignment="Top" Width="255" Margin="5" Height="44"/>
<Button x:Name="button_Copy" Grid.Column="1" Grid.Row="1" Content="I'm past the cut off zone" HorizontalAlignment="Left" VerticalAlignment="Top" Width="179" Margin="5" Height="30"/>
</Grid>
如果您想手动放置对象,可以使用Canvas
容器,可以使用Canvas.Left' and
Canvas.Top`放置内容
例如:
<Canvas Background="Gray">
<Label x:Name="label" Canvas.Left="25" Canvas.Top="5" Content="KodeOS" HorizontalAlignment="Left" VerticalAlignment="Top" FontFamily="Segoe Print" FontSize="18.667" Foreground="White"/>
<Label x:Name="label1" Canvas.Left="55" Canvas.Top="55" Content="by Kamil" HorizontalAlignment="Left" VerticalAlignment="Top" FontFamily="Segoe Print" Foreground="White"/>
<Button x:Name="button" Canvas.Left="75" Canvas.Top="125" Content="After here everything will be cut off" HorizontalAlignment="Left" VerticalAlignment="Top" Width="255" Margin="5" Height="44"/>
<Button x:Name="button_Copy" Canvas.Left="125" Canvas.Top="205" Content="I'm past the cut off zone" HorizontalAlignment="Left" VerticalAlignment="Top" Width="179" Margin="5" Height="30"/>
</Canvas>
但通常我不会那样做,因为你无法对窗口大小的变化做出动态反应
答案 1 :(得分:0)
我没有看到任何// Non-managed environment idiom with getCurrentSession()
try {
factory.getCurrentSession().beginTransaction();
// do some work
...
factory.getCurrentSession().getTransaction().commit();
}
catch (RuntimeException e) {
factory.getCurrentSession().getTransaction().rollback();
throw e; // or display error message
}
或Grid.Row
被分配给您的控件,例如Label或Button。网格系统的工作方式有点像Winform中的Table Layout。
通常在网格布局中,您不需要使用RenderTransformOrigin,Margns和Vertical / Horizontal Alignment对齐元素,只需设置正确的网格布局即可。
您将元素(按钮,标签等)放在网格控件中。 Grid控件的工作方式是根据与这些元素关联的Column / Row值排列所有项目,例如:将Label放入Row = 0,Col = 0,将按钮置于Row = 0,Col = 1)。如果省略这些值,将使用默认的行/列,该值为零。
这意味着,所有元素将基本上重叠,但您已设法根据其他间距属性(如边距/填充等)将它们彼此远离,这是不可能的。