0

TextBoxから派生した新しいクラスオブジェクトを作成しようとしています-TextBoxに文字がある場合-新しいオブジェクトにはいくつかのボタンが表示され、このボタンを押すとこのTextBoxの文字を削除できます

WPFのコントロールから派生物を作成するにはどうすればよいですか?

4

1 に答える 1

3

テキストボックスとボタンを使用して、新しいUserControlを作成できます。文字列プロパティをテキストボックスとボタンの可視性プロパティにバインドします。次に、この文字列を可視性に変換するコンバーターを作成します。次に、ボタンのCommand-propertyを、string property=string.Emptyを設定するコマンドにバインドします。

いくつかのヒント:

コンバーターの使用方法:

<UserControl.Resources>
    <local:StringToVisibilityConverter x:Key="STV"></local:StringToVisibilityConverter>
</UserControl.Resources>
<Button Visibility="{Binding Path=MyText, Converter={StaticResource ResourceKey=STV}}" />

VMは次のようになります。

public class MainViewModel:ViewModelBase
{
    private string _mytext;
    public string MyText
    {
        get
        {
            return _mytext;
        }
        set
        {
            _mytext = value;
            OnPropertyChanged("MyText");
        }
    }

    private RelayCommand<object> _clearTextCommand;
    public ICommand ClearTextCommand
    {
        get
        {
            if (_clearTextCommand == null)
            {
                _clearTextCommand = new RelayCommand<object>(o => ClearText(), o => CanClearText());
            }
            return _clearTextCommand;
        }
    }

    private void ClearText()
    {
        MyText = string.Empty;
    }

    private bool CanClearText()
    {
        return true;
    }
}
于 2012-10-02T11:03:26.673 に答える