説明:
DataContext
すでにいくつかのリストに設定されているビューがあります。
またComboBox
、可視性イベントをトリガーする必要があるがありStackPanel
ます。これは、を実装しているプロパティ「SelectedVisibility」を介して行われますINotifyPropertyChanged
。
問題:
プロパティ「SelectedVisibility」はクラスの一部ではありませんDataContext
が、ViewModel
クラス内にあり、ViewModelを明示的にバインドしてそのプロパティに到達する方法を見つけることができません。
質問:
VMをComboBoxのSelectedValueバインディングのDataContextとして明示的に定義する方法を知っていますか?
コードの詳細:
XAMLを表示:
<ComboBox ItemsSource="{Binding Source={StaticResource VisibilityEnum}}" SelectedValue="{Binding Path=SelectedVisibility}"/>
<StackPanel Visibility="{Binding Path=SelectedVisibility,Converter={StaticResource SelectedValueToVisible}}">
背後にあるコードを表示:
public Counterparties_UserInputs()
{
// Cannot bind this as already bound
// this.DataContext = _VM;
InitializeComponent();
}
モデルの表示:
public event PropertyChangedEventHandler PropertyChanged;
public string SelectedVisibility
{
get
{
return _selectedVisibility;
}
set
{
_selectedVisibility= value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("SelectedVisibility"));
}
}
}
前もって感謝します!