开发者

How to bind an indexer to a GridViewColumn in WPF?

开发者 https://www.devze.com 2023-02-14 22:18 出处:网络
In my ViewModel object I have a this indexer like: public bool this[enum effectType] { get { return CheckList.First ( e => e.EffectType =开发者_JAVA百科= effectType ).IsChecked; }

In my ViewModel object I have a this indexer like:

public bool this[enum effectType]
{
    get { return CheckList.First ( e => e.EffectType =开发者_JAVA百科= effectType ).IsChecked; }
}

but not sure how to bind this in Xaml. I have tried these:

<GridViewColumn
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <CheckBox
                IsChecked="{Binding Item[Blur], Mode=TwoWay}"/>
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

IsChecked="{Binding this[Blur], Mode=TwoWay}"/>

IsChecked="{Binding AllEffects[Blur], Mode=TwoWay}"/>

AllEffects is an ObservableCollection already binded to the ListBox itself and the columns are already populated except the checked ones which I am trying to bind to this indexer.


Try this:

<CheckBox IsChecked="{Binding .[Blur], Mode=TwoWay}"/>

Please note that your indexer property must provide a setter in order TwoWay binding to work.

0

精彩评论

暂无评论...
验证码 换一张
取 消