Центрируйте метку в моем пользовательском элементе управления, который расположен в холсте WPF - PullRequest
0 голосов
/ 11 июля 2019

Попытка центрировать мою метку в пользовательском элементе управления на моем «сигнале», который я нарисовал на своем холсте.

enter image description here

Это то, что мои сигналына данный момент похожи, с их именами под сигнал.Как видите, из-за различий в длине имени некоторые из них смещены от центра.

Мой пользовательский элемент управления XAML-код:

<UserControl x:Name="LeftUserControl"
             d:DesignHeight="50" d:DesignWidth="50" RenderTransformOrigin="0.84,0.5">

    <Viewbox Stretch="Uniform" Width="10" Height="10">
        <Canvas Height="150" Width="150">
                <Label Content="{Binding SignalName, ElementName=LeftUserControl}" Foreground="Black" Canvas.Top="108" FontSize="15" Canvas.Left="85"></Label>
                <Line X1="130" X2="130" Y1="105" Y2="84" Stroke="Black" StrokeThickness="5" StrokeStartLineCap="Round" ></Line>
                <Line X1="130" X2="100" Y1="105" Y2="105" Stroke="Black" StrokeThickness="5"></Line>
                <Ellipse Fill="Red" Width="25" Height="25" Canvas.Left="85" Canvas.Top="92"/>
        </Canvas>
    </Viewbox>


</UserControl>

Мое главное окно, в котором я использую свой пользовательский элемент управления:

<DataTemplate DataType="{x:Type viewModel:SignalLeftViewModel}">
                            <Canvas>
                                <userControls:SignalLeftControl SignalName="{Binding Name}" Canvas.Top="{Binding SignalCoords.Y, Converter={StaticResource ScaleYCoordConverter},ConverterParameter=leftSignal}" Canvas.Left="{Binding SignalCoords.X, Converter={StaticResource ScaleXCoordConverter}, ConverterParameter=leftSignal}">
                                    <userControls:SignalLeftControl.RenderTransform>
                                        <RotateTransform Angle="{Binding Angle}"/>
                                    </userControls:SignalLeftControl.RenderTransform>
                                </userControls:SignalLeftControl>

                            </Canvas>
</DataTemplate>

Мне интересно, какой самый простой способэто центрирование моей метки в моем пользовательском элементе управления, чтобы все имена были выровнены правильно.Заранее спасибо.

...