Em có 1 chương trình WPF nhỏ như thế này:
XAML
<Window x:Class="ClockAlarm.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ClockAlarm"
mc:Ignorable="d" WindowStartupLocation="CenterScreen" FontFamily="Arial" Name="wnd"
Title="MainWindow" Height="900" Width="1200" Background="#FF2C2C2C" Foreground="White">
<Grid>
<Grid Grid.ColumnSpan="3" Margin="0,40,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="100"></ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="1">
<TextBlock TextAlignment="Center" FontSize="42" Name="Title">Click vào biểu tượng bên phải để sửa</TextBlock>
<TextBox FontSize="42" Name="WriteTitle" Background="#FF919191" Visibility="Collapsed"></TextBox>
</StackPanel>
<StackPanel Grid.Column="2">
<Button Name="EditBtn" Height="50" Click="Edit">
<TextBlock FontFamily="Material Icons" FontSize="36" Padding="14,3,14,0" Height="42" Width="62">create</TextBlock>
</Button>
</StackPanel>
</Grid>
</Grid>
</Window>
Code-behind
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Threading;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace ClockAlarm
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
private DispatcherTimer timer;
private List<int> time;
public MainWindow()
{
InitializeComponent();
}
private void Edit(object sender, RoutedEventArgs e)
{
WriteTitle.Text = "jkcgb";
Title.Visibility = Visibility.Collapsed;
WriteTitle.Visibility = Visibility.Visible;
((TextBlock)EditBtn.Content).Text = "done";
EditBtn.Click += Save;
}
private void Save(object sender, RoutedEventArgs e)
{
Title.Text = WriteTitle.Text;
WriteTitle.Visibility = Visibility.Collapsed;
Title.Visibility = Visibility.Visible;
((TextBlock)EditBtn.Content).Text = "create";
EditBtn.Click += Edit;
}
}
}
Nhưng khi em chạy chương trình và thử sửa dòng văn bản trong textbox WriteTitle
Nhưng TextBox WriteTitle giá trị không hề cập nhật, dẫn đến TextBlock Title không hề cập nhật giá trị mà vẫn giữ giá trị jkcgb của WriteTitle khi WriteTitle bị gán giá trị này vào khi trong hàm void Edit
Em đã cố gắng tìm kiếm nguyên nhân nhưng bất lực… Mấy bác có thể giúp em được không ạ! Em cảm ơn!