none
Как сделать такое изменение элементов в WPF RRS feed

  • Вопрос

  • Здравствуйте!

    <Grid>
            <Grid x:Name="CanDrag">
                <Button Width="100" Height="100" Margin="27,164,582,144"/>
                <Button Width="100" Height="100" Margin="599,280,10,28"/>
                <Button Width="100" Height="100" Margin="374,8,235,300"/>
                <Button Width="100" Height="100" Margin="128,51,481,257"/>
                <Button Width="100" Height="100" Margin="148,190,461,118"/>
                <Button Width="100" Height="100" Margin="195,306,414,2"/>
                <Button Width="100" Height="100" Margin="359,280,250,28"/>
                <Button Width="100" Height="100" Margin="462,95,-45,124"/>
                <Button Width="100" Height="100" Margin="533,14,76,294"/>
                <Button Width="100" Height="100" Margin="171,109,246,110"/>
                <Button Width="100" Height="100" Margin="475,258,134,50"/>
                <Button Width="100" Height="100" Margin="405,128,204,180"/>
                <Button Width="100" Height="100" Margin="162,-10,255,229"/>
                <Button Width="100" Height="100" Margin="10,14,599,294"/>
                <Button Width="100" Height="100" Margin="37,298,572,10"/>
                <Thumb Opacity="0" />
            </Grid>
            <Separator VerticalAlignment="Center"/>
        </Grid>


    В Grid посередине есть линия separator. В нем еще один grid, который можно перетаскивать с помощью мышки и обработки событий Thumb. 

    Так вот. Реально ли сделать так, что бы при перетаскивании второй grid относительно separator, все дочерние элементы (в частности тут кнопки) меняли свой размер? Например если эта кнопка находится близко к линии - она имеет 100% своего изначального размера. Если начинает уходить выше или ниже, то она уменьшается, к примеру, в соотношении 1%/10px.

    Можно с таймером попробовать сделать и проверять постоянно каждый элемент на позицию... но это очень бьет по производительности. можно еще как?

    1 октября 2019 г. 22:04

Ответы

  • Здравствуйте,

    Возможно как здесь: WPF Resizing/Aligning Buttons when parent window resized, если менять размер самого грида где кнопки и использовать:

    <Button Content="TEST" Grid.Column="2" Grid.Row="1" 
         HorizontalAlignment="Stretch"  VerticalAlignment="Stretch" />


    Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    • Помечено в качестве ответа Siompc 5 октября 2019 г. 17:58
    2 октября 2019 г. 7:20
    Модератор