Есть MainWindow
, в который добавлен UserControl
. Внутри UserControl
есть 2 кнопки и текстбокс (что то по типу NumericUpDown). При нажатии на кнопки увеличения и уменьшения числа, свойство обновляется, но TextBox
не обновляется. Не могу понять как правильно обновить TextBox
.
MainWindow:
<Window x:Class="GenerateDocumentation.View.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:viewModel="clr-namespace:GenerateDocumentation.ViewModel"
xmlns:view="clr-namespace:GenerateDocumentation.View"
mc:Ignorable="d" Title="Выгрузка документации"
d:DesignHeight="435" d:DesignWidth="400"
Height="445" Width="400" ResizeMode="NoResize" WindowStartupLocation="CenterScreen">
<Window.DataContext>
<viewModel:MainViewModel/>
</Window.DataContext>
<Grid>
<view:NumericUpDown Grid.Column="3" Grid.Row="5" DataContext="{Binding NumericUpDownViewModel}" />
</Grid>
</Window>
MainViewModel:
public class MainViewModel : ModelBase
{
public MainViewModel()
{
NumericUpDownViewModel = new NumericUpDownViewModel();
}
private NumericUpDownViewModel _numericUpDownViewModel;
public NumericUpDownViewModel NumericUpDownViewModel
{
get => _numericUpDownViewModel;
set
{
_numericUpDownViewModel = value;
OnPropertyChanged(nameof(NumericUpDownViewModel));
}
}
private int _numberCab = Properties.Settings.Default.NumberCab;
public int NumberCab
{
get => _numberCab;
set
{
_numberCab = value;
OnPropertyChanged(nameof(NumberCab));
}
}
}
UerControl:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="20"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Button Content="▲" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" FontSize="9"
Command="{Binding UpCommand}"/>
<Button Grid.Row="1" Content="▼"
VerticalContentAlignment="Center" HorizontalContentAlignment="Center" FontSize="9"
Command="{Binding DownCommand}"/>
</Grid>
<TextBox IsReadOnly="True" Grid.Column="0" HorizontalContentAlignment="Right" VerticalContentAlignment="Center"
Text="{Binding Number, UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
UserControlViewModel:
public class NumericUpDownViewModel : ModelBase
{
private ICommand _upCommand;
public ICommand UpCommand
{
get
{
return _upCommand ?? (_upCommand = new RelayCommand(o => { _number++; }));
}
}
private ICommand _downCommand;
public ICommand DownCommand
{
get
{
return _downCommand ?? (_downCommand = new RelayCommand(o => { _number--; }));
}
}
private int _number = Properties.Settings.Default.NumberCab;
public int Number
{
get => _number;
set
{
_number = value;
OnPropertyChanged(nameof(Number));
}
}
}
В чем может быть проблема? Заранее спасибо.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть 2 проектаВложенный проект имеет 2 модели: Model1in и Model1Out
Вопрос больше теоретическийНо буду признателен и за практическое решение, а дальше, на его основе, смогу додумать
Пусть нужно сделать проект с многоуровневой архитектуройКак и в каких случаях нужно делать так: Class Libraries: Entites, DLayer, DTO,BLayer, Presenttion Layer, Core или...