如何将索引器绑定到 WPF 中的 GridViewColumn?
在我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个:
请注意,您的索引器属性必须提供一个设置器,
TwoWay
绑定才能正常工作。Try this:
Please note that your indexer property must provide a setter in order
TwoWay
binding to work.