Ответы пользователя по тегу WPF
  • Как сделать свойство margin для контейнеров или кнопок резиновым?

    @Livis49
    Вся суть WPF, уход от того, чтобы элементы были строго прилеплены как было на WindowForms. И при ресайзе все элементы должны сохранять не определённые размеры, а именно пропорции своего местоположения. Именно поэтому используется разметка.
    Не стоит всё размещать в один Grid. Поэтому всё и ползёт. Так же не стоит использовать Column и описывать месторасположение контента через Grid.Column/Row. Так как при добавлении новых Grid всю эту нумерацию придётся менять. Если выравнивать именно содержание в StackPanel, то лучше использовать Padding, а не Margin. Так же покопаться стоит в выравнивании так как определенные численные значения такими же и останутся при ресайзе.
    Доработал код с точки зрения Grid, лучше для каждого элемента прописывать свой, тогда всё останется на своих местах. Так же с точки зрения MVVM в XAML не нужно закидывать взаимодействия. Это всё прописывается в CS там это я и написал, имена кнопок оставил те же . В XAML лишь задаётся имя элемента и уже через него в cs идёт взаимодействие там его и прописал, имена оставил те же, они указаны в XAML.
    5e3472e9ca975631382019.jpeg
    5e34730f93887686558450.jpeg

    XAML не прикрепился( поэтому скрин5e3474c03ecac423021172.jpeg((
    CS

    public MainWindow()
    {
    InitializeComponent();
    }

    private void ColorPicker_Click(object sender, RoutedEventArgs e)
    {

    }

    private void FontWindowButton_Click(object sender, RoutedEventArgs e)
    {

    }

    private void QuestWindowButton_Click(object sender, RoutedEventArgs e)
    {

    }

    private void SentenceWindowButtonr_Click(object sender, RoutedEventArgs e)
    {

    }
    Ответ написан
    Комментировать