0

WPF アプリケーション/MVVM パターンがあり、コンボボックスとツリービュー コントロールがあります。私がやりたかったのは、コンボボックスから項目を選択したときにのみツリービュー コントロールを表示することです。

例: SelectedTransactionName というプロパティがあります。

      private string _selectedTransactionWsName;
        public string SelectedTransactionName
        {
            set
            {
                if (_selectedTransactionWsName == value) return;
                this._selectedTransactionWsName = value;

                InitializaMessageElement();
            }
            get
            {
                return this._selectedTransactionWsName;
            }

        }

私の InitializaMessageElement メソッドは、選択したアイテムに一致するトランザクション名を表示します。しかし、コンボボックスで選択を行ったときにのみ、ページの読み込み時にツリービューを表示したくありません。ページの読み込み時に、ウィンドウにコンボボックスのみを表示したい。

ありがとう

4

1 に答える 1

1

ビューモデルには、そのプロパティをTreeViewバインドする計算されたブール値のプロパティを含めることができます。Visibility

public bool IsTransactionNameSelected
{
    get
    {
        return !string.IsNullOrEmpty(_selectedTransactionWsName);
    }
}

次に、のセッターでプロパティの変更を通知できますSelectedTransactionName

set
{
   if (_selectedTransactionWsName == value) return;
   this._selectedTransactionWsName = value;
   InitializaMessageElement();

   this.NotifyOfPropertyChanged(() => this.IsTransactionNameSelected);
}

TreeView Visibility次に、提供された を使用してプロパティをバインドできますBooleanToVisibilityConverter

<TreeView 
    Visibility="{Binding IsTransactionNameSelected, 
                 Converter={StaticResource BooleanToVisibilityConverter}" ...
于 2013-06-18T22:03:26.697 に答える