1

私はComboBoxUWPプロジェクトにいます。クラスDataSourceのコレクションにバインドしています。MyItem私のクラスは次のようになります。

public class MyItem : INotifyPropertyChanged
{
    #region INPC
    public event PropertyChangedEventHandler PropertyChanged;

    protected void Notify(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

    }



    #endregion
    private string _ItemName;
    public string ItemName
    {
        get { return _ItemName; }
        set
        {
            if (value != _ItemName)
            {
                _ItemName = value;
                Notify("ItemName");
            }
        }
    }

    private bool _ItemEnabled;
    public bool ItemEnabled
    {
        get { return _ItemEnabled; }
        set
        {
            if (value != _ItemEnabled)
            {
                _ItemEnabled = value;
                Notify("ItemEnabled");
            }
        }
    }}

ComboBoxItemここで、プロパティに応じて を有効または無効にしたいと考えていItemEnabledます。Style タグを使用してバインディングを調査して追加しようとしましたが、UWP でバインディングが機能しません。

<ComboBox.ItemContainerStyle>
      <Style TargetType="ComboBoxItem">
         <Setter Property="IsEnabled" Value="{Binding ItemEnabled}" />
      </Style>
</ComboBox.ItemContainerStyle>

どうすればこれを解決できますか?

EDIT 1:バインディングコード

<ComboBox ItemsSource="{Binding Path=MyItemsCollection, UpdateSourceTrigger=PropertyChanged}">           
  <ComboBox.ItemTemplate> 
    <DataTemplate>      
      <TextBlock Text="{Binding Path=ItemName}" />  
    </DataTemplate>
   </ComboBox.ItemTemplate> 
</ComboBox>
4

1 に答える 1