ユーザーがTextBox
に何かを入力したときにButton
を有効にするWPFの最も簡単な方法は何ですか?ユーザーがテキストボックスに入力するときにボタンを有効にする方法
17
A
答えて
0
使用シンプルなコマンドここで
<TextBox Text={Binding Path=TitleText}/>
<Button Command="{Binding Path=ClearTextCommand}" Content="Clear Text"/>
はマーロンGrechsを参照してください詳細についてはビューモデル
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));
}
}
のサンプルコードでSimpleCommand
またMVVMプロジェクトテンプレートをチェックアウト/ツールキットはhttp://blogs.msdn.com/llobo/archive/2009/05/01/download-m-v-vm-project-template-toolkit.aspxです。これはDelegateCommandを使用してコマンドを実行します。これは、どのプロジェクトでも優れた開始テンプレートになるはずです。
-1
ストロークごとに発生するTextBoxにコールバックを追加します。そのようなコールバックで空をテストし、ボタンを有効/無効にします。
2
コマンドを使用していなかった場合は、コンバータを使用する方法もあります。ボタンISENABLEDプロパティに続い
[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
}
:コンバータBOOLする汎用のIntを用いて例えば
、
<Button IsEnabled={Binding ElementName=TextBoxName, Path=Text.Length, Converter={StaticResource IntToBoolConverter}}/>
HTHを
デニス
2
使用トリガー!
<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>
103
誰もが物事を複雑にしているのはなぜですか?
<TextBox x:Name="TB"/>
<Button IsEnabled="{Binding ElementName=TB,Path=Text.Length}">Test</Button>
必要な他には何も......
0
この上のキー自体を結合..
であるが、これはあるUpdateSourceTrigger =のPropertyChanged
を追加します。最も単純なソリューション
関連する問題
- 1. knockout.jsでテキストボックスにテキストを入力するとすぐにボタンを有効にする
- 2. Javascript - すべての入力が有効なときに[送信]ボタンを有効にする
- 3. IEのファイル入力テキストボックスを無効にする方法は?
- 4. ボタンを有効にする方法は?
- 5. ユーザーに表示されたときにテキストボックスにデータを入力
- 6. Javaで有効な入力を再入力するユーザー
- 7. 入力パネルが開いているときにスクロールを有効にする方法phone 7
- 8. C#ユーザーがテキストボックスに入力を完了するのを待つ
- 9. リクエストオブジェクトのパラメータとしてテキストボックスに値を入力する方法
- 10. 入力テキストボックスでボタンをクリックしたときにjqueryメソッドを開始する
- 11. ユーザーがページにJavaScriptを入力して他のユーザーと共有できるようにするには?
- 12. 入力フィールドから入力フィールドを有効にする
- 13. JavaScriptがテキストボックスにキーリダイレクトを入力する
- 14. jQueryでボタン/リンクを無効/有効にする方法は?
- 15. WPFでボタンを有効/無効にする方法は?
- 16. ズームボタン(緑色+ボタン)を有効/無効にする方法は?
- 17. QTCreator Line editを使用しているときにパスワード入力オプションを有効にする方法は?
- 18. セレンでボタンが有効または無効になる方法
- 19. ユーザーが値を入力したときにテキストボックスからメッセージボックスにデータを入力する方法はありますか?
- 20. テキストボックスが有効になるまで待つ方法
- 21. テキストボックスのオートコンプリート機能を無効にする方法(また必要に応じて有効にする方法)
- 22. ボタンがクリックされたときにテーブルにテキストボックスを追加する方法
- 23. ドロップを受け入れるときにテキストボックスにキャレットを挿入する方法
- 24. チェックボックスをオンにすると入力タイプを有効にできません(Jquery)
- 25. 編集テキストが空/非空のときにボタンを無効/有効にする方法
- 26. ユーザーがログインしているときにフォーム入力を自動入力する方法は?
- 27. ユーザーがリスト項目のチェックボックスをマークすると、ボタンを有効にします
- 28. ボタンを押したときにタイマーを有効にするC#
- 29. 有効な文字列入力のためにユーザーに再認証する方法はありますか?
- 30. jQueryとPHPを使用してのみ、テキスト入力のための入力ボックスを有効にする方法
+1シンプルで働く - ありがとう! –
U、ser、は天才です! –
私はこれ以上upvoteできますか – cppguy