0

Visbilityの選択した値にExpander基づいてを設定したいと思いComboBoxます。ComboBoxからのオブジェクトにすでにマッピングされていますModel:

<ComboBox Name="SelectedCar" ItemsSource="{Binding Path=CarCategories}" SelectedValue="{Binding Path=Car.CarCategory, Mode=TwoWay}"/>

Visbilityこの方法で派生する VM にプロパティを設定しました。

private Visibility _extraCarDetailsVisibility;
public Visibility ExtraCarDetailsVisibility
{
    get
    {
        if (ManagedPortfolioSelected != null)
        {
            var category = Car.CarCategory.ToLower();
            if (category == "porsche")
            {
                _extraCarDetailsVisibility= Visibility.Visible;
            }
        }
        _extraCarDetailsVisibility=  Visibility.Collapsed;
        return _extraCarDetailsVisibility;
    }
    set 
    { 
        _extraCarDetailsVisibility= value;
        NotifyPropertyChanged("ExtraCarDetailsVisibility");
    }
}

そして、これが私がそれを使用する方法です:

<Expander Visibility="{Binding Path=ExtraCarDetailsVisibility}">

ただし、CarCategories変更イベントがサブスクライブされていないと思うため(モデルからのものであるため、実際にはできないようです) ExtraCarDetailsVisibility、車のカテゴリを変更してもプロパティが呼び出されないため、これは機能しません...

これをどのように行いますか?ありがとうございました!

4

1 に答える 1