如何将索引器绑定到 WPF 中的 GridViewColumn?

发布于 2024-10-19 20:34:41 字数 762 浏览 1 评论 0原文

在我的 ViewModel 对象中,我有一个这样的索引器:

public bool this[enum effectType]
{
    get { return CheckList.First ( e => e.EffectType == effectType ).IsChecked; }
}

但不确定如何在 Xaml 中绑定它。我已经尝试过这些:

<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 是一个 ObservableCollection 已经绑定到 ListBox 本身,并且列已经填充,除了我正在尝试的检查的列绑定到该索引器。

In my ViewModel object I have a this indexer like:

public bool this[enum effectType]
{
    get { return CheckList.First ( e => e.EffectType == 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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

放血 2024-10-26 20:34:41

试试这个:

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

请注意,您的索引器属性必须提供一个设置器,TwoWay 绑定才能正常工作。

Try this:

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文