Cách đơn giản nhất trong WPF để bật số Button
khi người dùng nhập nội dung gì đó vào một số TextBox
là gì?Cách bật nút khi người dùng nhập vào hộp văn bản
Trả lời
Sử dụng lệnh đơn giản
<TextBox Text={Binding Path=TitleText}/>
<Button Command="{Binding Path=ClearTextCommand}" Content="Clear Text"/>
Đây là đoạn mã mẫu trong Xem Mẫu
public class MyViewModel : INotifyPropertyChanged
{
public ICommand ClearTextCommand { get; private set; }
private string _titleText;
public string TitleText
{
get { return _titleText; }
set
{
if (value == _titleText)
return;
_titleText = value;
this.OnPropertyChanged("TitleText");
}
}
public MyViewModel()
{
ClearTextCommand = new SimpleCommand
{
ExecuteDelegate = x => TitleText="",
CanExecuteDelegate = x => TitleText.Length > 0
};
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
Để biết thêm thông tin, xem Marlon Grechs SimpleCommand
Ngoài ra kiểm tra Mẫu Dự án MVVM/Bộ công cụ từ http://blogs.msdn.com/llobo/archive/2009/05/01/download-m-v-vm-project-template-toolkit.aspx. Nó sử dụng DelegateCommand để chỉ huy và nó phải là một mẫu khởi đầu tuyệt vời cho bất kỳ dự án nào.
Thêm gọi lại vào Hộp văn bản kích hoạt trên mọi hành trình. Kiểm tra tính trống rỗng trong gọi lại như vậy và bật/tắt nút.
NẾU bạn không sử dụng Lệnh, cách khác là sử dụng Trình chuyển đổi.
Ví dụ, sử dụng một Int tổng quát để bool chuyển đổi:
[ValueConversion(typeof(int), typeof(bool))]
public class IntToBoolConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
try
{
return (System.Convert.ToInt32(value) > 0);
}
catch (InvalidCastException)
{
return DependencyProperty.UnsetValue;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return System.Convert.ToBoolean(value) ? 1 : 0;
}
#endregion
}
Sau đó, trên các nút sở hữu IsEnabled:
<Button IsEnabled={Binding ElementName=TextBoxName, Path=Text.Length, Converter={StaticResource IntToBoolConverter}}/>
HTH,
Dennis
Sử dụng một kích hoạt !
<TextBox x:Name="txt_Titel />
<Button Content="Transfer" d:IsLocked="True">
<Button.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=txt_Titel, Path=Text}" Value="">
<Setter Property="Button.IsEnabled" Value="false"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
Tại sao mọi người làm mọi thứ trở nên phức tạp!
<TextBox x:Name="TB"/>
<Button IsEnabled="{Binding ElementName=TB,Path=Text.Length}">Test</Button>
Không có gì khác cần thiết ......
Mấu chốt về vấn đề này là về các ràng buộc bản thân ..
Thêm UpdateSourceTrigger = PropertyChanged
đây là giải pháp đơn giản nhất
- 1. Thêm một chuỗi văn bản vào một trường nhập khi người dùng nhấp vào một nút
- 2. Thay đổi màu văn bản khi người dùng đang nhập?
- 3. Cách tự động tạo hộp văn bản và thu thập dữ liệu do người dùng nhập?
- 4. Cập nhật hộp văn bản khi nhập
- 5. jQuery - xóa văn bản nhập của người dùng khỏi textarea
- 6. Tự động hoàn thành giao diện người dùng JQuery - Mở menu khi người dùng nhấp vào hộp văn bản
- 7. tự động thêm hộp văn bản vào biểu mẫu bằng cách nhấp vào nút
- 8. Ẩn trong bàn phím iOS khi người dùng nhấp vào bên ngoài hộp văn bản
- 9. Chỉ cho phép nhập số vào Hộp văn bản WPF
- 10. Văn bản bọc hộp kết hợp khi nhập
- 11. Cách nhập văn bản vào hộp tổ hợp?
- 12. C# đợi người dùng gõ xong vào ô văn bản
- 13. C# tắt hộp kiểm dựa trên giá trị đầu vào người dùng hộp văn bản thời gian chạy
- 14. Xóa văn bản sau khi nhấp vào hộp văn bản
- 15. WPF - tự động đề xuất văn bản dưới dạng một người nhập vào điều khiển hộp văn bản
- 16. Làm cách nào để hiển thị trình tải xuống trong hộp văn bản khi nhấp vào nút?
- 17. Tự động hoàn tất tự động điền 'nhập' khi bật tự động hoàn tất nhập trên hộp văn bản
- 18. Đặt trọng tâm vào hộp văn bản trong Kiểm soát đăng nhập ASP.NET khi tải trang
- 19. Chọn tất cả văn bản trong nhập văn bản HTML khi nhấp vào
- 20. Làm cách nào để thay đổi màu nền của hộp văn bản khi người dùng nhấp vào đó với CSS
- 21. Hộp thoại giao diện người dùng jQuery: cách đóng hộp thoại khi nhấp vào bên ngoài?
- 22. hạn chế ký tự để nhập vào hộp văn bản
- 23. Cách bật bluetooth khi nhấp vào nút
- 24. Bắt người dùng nhập vào
- 25. Cách ẩn Bàn phím Hộp văn bản khi nút "Xong/Quay lại" được nhấn Xcode 4.2
- 26. Văn bản giữ chỗ/Ví dụ trong hộp văn bản cho người dùng
- 27. Làm cách nào để ngăn người dùng nhập các ký tự đặc biệt vào hộp văn bản khi độ dài bằng 0?
- 28. Tạo điều khiển hộp văn bản WPF như hộp văn bản người nhận email Outlook
- 29. iPhone hạn chế người dùng nhập không gian vào trường văn bản
- 30. Cách haskell để chấp nhận người dùng nhập vào một người dùng nhập số lần?
+1 đơn giản và hoạt động - cảm ơn! –
U, ser, là một thiên tài! –
Ước gì tôi có thể upvote điều này hơn – cppguy