Всплывающее окно без горизонтального смещения по центру во всех разрешениях wpf - PullRequest
0 голосов
/ 05 мая 2018

Я разработал всплывающее окно, чтобы показать его горизонтально по центру и по вертикали "VerticalOffset =" 45 "". Вертикальное положение идеально во всех разрешениях, но горизонтальное положение не выровнено по центру. Как сделать его по центру для всех разрешений.

<Popup x:Class="....Wpf.Controls.ShowError"
         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:...Controls"
         mc:Ignorable="d"  PlacementRectangle="0,0,30,50"
   VerticalOffset="45"
   HorizontalOffset="600" 
   Placement="Bottom"
   PopupAnimation="Fade" AllowsTransparency="True">
<Border Width="500" Height="150" BorderBrush="{StaticResource TransparentBrush}" HorizontalAlignment="Center" BorderThickness="0" Background="{StaticResource TransparentBrush}" >
    <Border Style="{StaticResource ErrorPopupBorderStyle}">
        <TextBlock  x:Name="tbError"  Style="{StaticResource ErrorMessageStyle}"/>
    </Border>
</Border>

 ShowError pop = new ShowError
        {
            Message = error,
            IsError = true
        };
        pop.Show();

1 Ответ

0 голосов
/ 06 мая 2018

Получил решение.

pop.HorizontOffset = (MainWindow.Instance.Width / 2) + (border.Width / 2);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...