Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Tsyklop
5 / 5 / 5
Регистрация: 01.01.2014
Сообщений: 398
1

Как сделать ввод текста при нажатии Button?

14.02.2015, 12:38. Просмотров 1959. Ответов 2
Метки нет (Все метки)

Как сделать так что бы в поле Label вписывалось значение при нажатии Button(Кнопка не с клавиатуры а созданная на форме.)?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2015, 12:38
Ответы с готовыми решениями:

Как вывести Button.Content в Textbox, при нажатии на данную кнопку
Вариант с использованием x:Name не подходит.

Как мне сделать событие при нажатии в MessageBox на кнопку ОК
Как мне сделать событие при нажатии в MessageBox на кнопку ОК. Нужно чтобы после нажатия на ОК,...

Как сделать showDialog активным при нажатии на основное окно?
Например есть два окно основное и окно вызванное showDialog(). Открыли после этого браузер или...

Как сделать рабочую область , меняющуюся при нажатии на кнопки?
Работаю в WPF. Не знаю как сделать рабочую область , чтобы при выборе пунктов меню вся область...

Как сделать, чтобы при нажатии 2х клавиш закрыть сторонний процесс
Как сделать, чтобы при нажатии 2х клавиш закрыть сторонний процесс? Допустим при нажатии ктрл+таб...

2
Casper-SC
Эксперт .NET
3990 / 1904 / 373
Регистрация: 27.03.2010
Сообщений: 5,271
Записей в блоге: 1
14.02.2015, 15:00 2
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow"
        Width="314"
        Height="166"
        WindowStartupLocation="CenterScreen">
    <Grid>
        <Button Width="75"
                Margin="0,0,0,12"
                HorizontalAlignment="Center"
                VerticalAlignment="Bottom"
                Click="Button_Click"
                Content="Button" />
 
        <Label x:Name="label"
               Margin="104,27,0,0"
               HorizontalAlignment="Left"
               VerticalAlignment="Top"
               Content="Label" />
 
        <TextBlock x:Name="textBlock"
                   Margin="104,58,0,0"
                   HorizontalAlignment="Left"
                   VerticalAlignment="Top"
                   Text="TextBlock"
                   TextWrapping="Wrap" />
 
    </Grid>
</Window>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System.Windows;
 
namespace WpfApplication2
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string text = "Какой-то текст";
            label.Content = text;
            textBlock.Text = text;
        }
    }
}
Добавлено через 7 минут
Или такой вариант:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfApplication2"
        Title="MainWindow"
        Width="314"
        Height="184"
        DataContext="{Binding Mode=OneWay, RelativeSource={RelativeSource Self}}"
        WindowStartupLocation="CenterScreen">
    <Grid>
        <Button Width="75"
                Margin="0,0,0,12"
                HorizontalAlignment="Center"
                VerticalAlignment="Bottom"
                Click="Button_Click"
                Content="Button" />
 
        <Label x:Name="label"
               Margin="10,64,0,0"
               HorizontalAlignment="Left"
               VerticalAlignment="Top"
               Content="{Binding Message}" />
 
        <TextBlock x:Name="textBlock"
                   Margin="10,95,0,0"
                   HorizontalAlignment="Left"
                   VerticalAlignment="Top"
                   Text="{Binding Message}"
                   TextWrapping="Wrap" />
 
        <TextBlock Margin="10,18,0,0"
                   HorizontalAlignment="Left"
                   VerticalAlignment="Top"
                   Text="Введите текст:" />
 
        <TextBox Width="120"
                 Height="23"
                 Margin="10,34,0,0"
                 HorizontalAlignment="Left"
                 VerticalAlignment="Top"
                 Text="{Binding Message,
                                Mode=OneWayToSource,
                                UpdateSourceTrigger=PropertyChanged}"
                 TextWrapping="Wrap" />
 
    </Grid>
</Window>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System.Windows;
 
namespace WpfApplication2
{
    public partial class MainWindow : Window
    {
        public static readonly DependencyProperty MessageProperty = DependencyProperty.Register(
            "Message", typeof(string), typeof(MainWindow), new PropertyMetadata(string.Empty));
 
        public MainWindow()
        {
            InitializeComponent();
        }
 
        public string Message
        {
            get { return (string)GetValue(MessageProperty); }
            set { SetValue(MessageProperty, value); }
        }
 
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string text = "Какой-то текст";
            label.Content = text;
            textBlock.Text = text;
        }
    }
}
Добавлено через 13 минут
Или так:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfApplication2"
        Title="MainWindow"
        Width="362"
        Height="184"
        WindowStartupLocation="CenterScreen">
 
    <Window.DataContext>
        <local:MainViewModel />
    </Window.DataContext>
 
    <Grid>
        <Button Width="75"
                Margin="0,0,0,12"
                HorizontalAlignment="Center"
                VerticalAlignment="Bottom"
                Command="{Binding SetMessageCommand}"
                CommandParameter="Параметр можно прибиндить так же к чему-то"
                Content="Button" />
 
        <TextBlock x:Name="textBlock"
                   Margin="10,20,0,0"
                   HorizontalAlignment="Left"
                   VerticalAlignment="Top"
                   Text="{Binding Message}"
                   TextWrapping="Wrap" />
 
    </Grid>
</Window>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
namespace WpfApplication2
{
    public class MainViewModel : ViewModelBase
    {
        private string _message;
 
        public MainViewModel()
        {
            _message = string.Empty;
            SetMessageCommand = new RelayCommand(SetMessage);
        }
 
        private void SetMessage(object parameter)
        {
            Message = (string)parameter;
        }
 
        public string Message
        {
            get { return _message; }
            set
            {
                _message = value; 
                RaisePropertyChanged();
            }
        }
 
        public RelayCommand SetMessageCommand { get; private set; }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System.ComponentModel;
using System.Runtime.CompilerServices;
 
namespace WpfApplication2
{
    public abstract class ViewModelBase : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
 
        protected virtual void RaisePropertyChanged([CallerMemberName] string propertyName = null)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Windows.Input;
 
namespace WpfApplication2
{
    public class RelayCommand : ICommand
    {
        private Action<object> _action;
        private Func<object, bool> _func;
 
        public RelayCommand(Action<object> action)
            : this(action, null)
        {
        }
 
        public RelayCommand(Action<object> action, Func<object, bool> func)
        {
            if (action == null)
            {
                throw new ArgumentNullException("action");
            }
            _action = action;
            _func = func;
        }
 
        public bool CanExecute(object parameter)
        {
            if (_func != null)
            {
                return _func(parameter);
            }
 
            return true;
        }
 
        public void Execute(object parameter)
        {
            _action(parameter);
        }
 
        public event EventHandler CanExecuteChanged;
    }
}
0
Tsyklop
5 / 5 / 5
Регистрация: 01.01.2014
Сообщений: 398
14.02.2015, 18:16  [ТС] 3
Благодарю
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2015, 18:16

Как сделать, чтобы при нажатии кнопки Push Button загоралась та или иная кнопка Radio Button
вопрос: Как сделать,чтобы при нажатие кнопки Push Botton загоралась та или иная кнопка Radio Button?

Как сделать что при нажатии на Button скачивался файл?
подскажите как реализовать. юзер нажимает скачать и качается файл с моего сайта

Как сделать вызов фиксированного номера при нажатии button
как сделать так чтобы при нажатии батона в приложении автоматически набирался номер (один номер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru