Удаление всех ограничений позиции для элемента XAML - PullRequest
1 голос
/ 22 мая 2019

Я создаю приложение UWP.Я использую элемент XAML Rectangle, для которого я указал атрибут позиционирования - RelativePanel.RightOf () в коде XAML.Теперь, нажав конкретную кнопку, мне нужно переместить прямоугольник с его исходного места влево от какого-либо другого элемента управления.Поэтому при получении события Click я использую свойство RelativePanel.SetLeftOf (), чтобы переместить его.

XAML-код-

    <StackPanel>
        <RelativePanel Height="50" Width="200">
            <Rectangle x:Name="_redRect" Height="50" Width="50" Fill="Red" RelativePanel.AlignLeftWithPanel="True"/>
            <Rectangle x:Name="_blueRect" Height="50" Width="50" Fill="Blue" RelativePanel.RightOf="_redRect"/>
            <Rectangle x:Name="_greenRect" Height="50" Width="50" Fill="Green" RelativePanel.AlignRightWithPanel="True"/>
        </RelativePanel>
        <Button x:Name="_switch" Click="OnSwitchClicked">Switch</Button>
    </StackPanel>

C # code-

    private void OnSwitchClicked(object sender, RoutedEventArgs e)
    {
        RelativePanel.SetLeftOf(_blueRect, _greenRect);
    }

Ноэто не решает мою проблему._BlueRect, кажется, находится в середине _redRect и _greenRect.Вероятно, это связано с тем, что первое ограничение RelativePanel.LeftOf = "_redRect" не было удалено.Как мне удалить это ограничение через код?

Также есть ли способ, которым все ограничения позиционирования могут быть удалены вместе?

1 Ответ

1 голос
/ 23 мая 2019

Это возможно потому, что первое ограничение RelativePanel.LeftOf = "_redRect" не было удалено.Как мне удалить это ограничение с помощью кода?

Если вы хотите удалить RelativePanel.RightOf="_redRect", вы можете использовать тот же способ, чтобы установить RelativePanel.RightOf в ноль в коде.

private void OnSwitchClicked(object sender, RoutedEventArgs e)
{
    RelativePanel.SetLeftOf(_blueRect, _greenRect);
    RelativePanel.SetRightOf(_blueRect, null);
}

enter image description here

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