У меня есть две кнопки в DataTemplate. Нужно привязать их к свойству типа int так, что бы по нажатию одной кнопки переменная увеличивалась, по другой уменьшалось. Уважаемы знатоки, прошу помощи.
<DataTemplate x:Key="PriceItems">
<StackPanel Background ="Azure" Orientation="Horizontal" Margin="10,10">
<Button x:Name="IncrementBtn" Content="+" FontSize="18" Width="80" />
<Label x:Name="CntLabel" Content="{Binding DataContext.TicketCnt, RelativeSource={RelativeSource TemplatedParent}}" VerticalContentAlignment="Center" HorizontalAlignment="Center" FontSize="16"/>
<Button x:Name="DecrementBtn" Content="-" FontSize="18" Width="80" Margin="10,10"/>
</StackPanel>
</DataTemplate>
Допустим, вы выводите в окне некую коллекцию элементов. Пусть тип этих элементов Item
:
class Item : INotifyPropertyChanged
{
...
int v;
public int Value
{
get => v;
set
{
v = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Value)));
}
}
}
Не буду пугать вас MVVM, я просто привяжу коллекцию этих элементов в конструкторе окна:
public MainWindow()
{
InitializeComponent();
IC.ItemsSource = new[]
{
new Item { Value = 10 },
new Item { Value = 12 },
new Item { Value = 15 },
new Item { Value = 22 },
new Item { Value = 27 }
};
}
Разметка:
<ItemsControl Name="IC">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="24"/>
<ColumnDefinition Width="20"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Value}"
VerticalAlignment="Center"
HorizontalAlignment="Right"/>
<Button Content="+" Grid.Column="1" Margin="2,0"
Click="Plus_Click"/>
<Button Content="-" Grid.Column="2"
Click="Minus_Click"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Обработчики событий:
private void Plus_Click(object sender, RoutedEventArgs e)
{
((Item)(sender as Button).DataContext).Value++;
}
private void Minus_Click(object sender, RoutedEventArgs e)
{
((Item)(sender as Button).DataContext).Value--;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Например у меня есть сервисы ScannerService и UsersServiceПервый отвечает за управление сканером на устройстве, второй получает данные из базы данных...
Есть метод, который вставляет пробелы перед прописными буквамиЕсть ошибка: в 1 вызове метода пробел ставится только 1 раз, даже если там есть...
На сервере крутится служба, которая согласно определенных событий отправляет почтуСтолкнулся со следующей ошибкой:
Заранее прошу прощения за тупой вопросНо допустим я работаю в одном классе, есть определенный цикл, в котором условием является переход в другой...