Свойство MinWidth MainWindow связано, но не работает - как я могу сделать это в MVVM и используя класс настроек? - PullRequest
0 голосов
/ 24 мая 2019

Я готовлю простое приложение, и когда я нажимаю кнопку, чтобы показать дополнительную информацию, я бы хотел, чтобы ширина главного окна увеличивалась. И это работает, но в то же время я хотел бы установить для его свойства MinWidth какое-то значение, чтобы пользователи не могли скрывать этот дополнительный контент.

У меня есть класс для хранения свойств Width и MinWidth. Я привязываю Width к этому классу с Mode = TwoWay и делаю то же самое с MinWidth. Но это не работает.

public class MainWindowSettings
{
    public uint Width { get; set; }
    public uint MinWidth { get; set; }
}

<Window
SizeToContent="WidthAndHeight" 
MinHeight="330" 
MinWidth="{Binding ButtonsVM.MainWindowSettings.MinWidth, Mode=TwoWay}" 
Width="{Binding ButtonsVM.MainWindowSettings.Width, Mode=TwoWay}">
class ButtonsViewModel
{
        public MainWindowSettings MainWindowSettings
        {
            get { return _mainWindowSettings; }

            private set
            {
                _mainWindowSettings = value;
                OnPropertyChanged();
            }
        } 


        private void ButtonClick(string signOrNumber)
        {
            if (signOrNumber == "showAdvanced")
            {
                MainWindowSettings.Width += 80;
                MainWindowSettings.MinWidth = 290;
            }
        }  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...