2012-10-02 41 views
0

我試圖創建新的類對象,從文本框的衍生物 - 如果在TextBox字符 - 新的對象會顯示一些按鈕,按下這個按鈕就可以刪除這個文本框如何創建一個從TextBox派生的對象?

怎麼個字符我可以從WPF中的控件衍生出來嗎?

回答

3

您可以使用文本框和按鈕創建一個新的UserControl。將字符串屬性綁定到文本框和按鈕的可見性屬性。然後,您創建一個轉換器,將該字符串轉換爲可見性。現在你將你的按鈕的Command-property綁定到一個設置字符串property = string.Empty的命令。

一些提示:

如何使用轉換器:

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

如何使你的虛擬機看起來是這樣:

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; 
    } 
} 
相關問題