У меня WPF окно, что я сделал в полноэкранном режиме, назначив следующие свойства:Горизонтально Центр TextBlock в Fullscreen
WindowState = Maximized
WindowStyle = None
Topmost = true
Это работает очень хорошо до сих пор. Теперь у меня есть два TextBlocks
на моем Window
, которые я хотел бы центрировать по горизонтали. Поскольку это полноэкранный режим, моя идея состояла в том, чтобы просто вычислить позицию с разрешения экрана. Так что я попытался следующие:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
IntPtr handle = WinApi.getWindowByName("myWindow");
int height = Screen.FromHandle(handle).Bounds.Height;
int width = Screen.FromHandle(handle).Bounds.Width;
textBlock1.Margin = new Thickness(width/2 - textBlock1.ActualWidth, height/10, width/2 - textBlock1.ActualWidth, height/1.5);
textBlock2.Margin = new Thickness(width/2 - textBlock2.ActualWidth, height/10, width/2 - textBlock2.ActualWidth, height/3);
}
WinApi
класс от меня, который инкапсулирует WinApi
. Я использую ActualWidth
, так как ширина как TextBlocks
установлена на Auto
. Пока что размеры экрана пока прекрасны. Однако текстовые блоки не отображаются точно в середине экрана. Я знаю это точно, потому что они оба отображаются в разных горизонтальных положениях.
Мой XAML:
<Window x:Class="MyApp.MyWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="test" Height="300" Width="300" WindowState="Maximized" WindowStyle="None" Topmost="True" Background="#FF0000DC" Foreground="#FFF4FCF8" Loaded="Window_Loaded">
<Grid>
<TextBlock x:Name="textBlockHeader" HorizontalAlignment="Center" Background="White" Foreground="#FF0C04DB" FontWeight="Bold" FontFamily="Lucida Console" Width="Auto" Height="Auto" Text="Header" TextAlignment="Center"/>
<TextBlock x:Name="textBlockText" HorizontalAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Center" TextAlignment="Center" FontFamily="Lucida Console" Text="text"/>
</Grid>
</Window>
Я сделал скриншот того, как он выглядит: http://www11.picfront.org/token/UAhu/2013/06/ 02/2140894.png На картинке вы можете четко видеть, что два текстовых блока не одинаково выровнены. – Simon
получает 404 на этот URL. –
Попробуйте это http://www.picfront.org/d/8YWz – Simon