我有一个类,如:如何绑定到WPF类中的2个不同成员?
class EditorViewModel
{
public ObservableCollection<Effect> AllEffects;
public bool HasPermissions;
}
但问题是,当我试图绑定AllEffects
到ListView
,那么我不能绑定什么HasPermissions
因为绑定范围仅限于AllEffects
,不EditorViewModel
。
我试过,但它不工作:
<ListView ItemsSource="{Binding EditorViewModel}">
...
<GridViewColumn Width="Auto" Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding AllEffects.Name}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="Auto" Header="Type">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding AllEffects.Type}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
如果我设置ItemsSource
到EditorViewModel
和摆脱AllEffects
,它的工作原理。但我不知道如何通过绑定接入HasPermissions
:
<GridViewColumn Width="50" Header="Override">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Margin="0"
HorizontalAlignment="Center"
IsEnabled="{Binding HasPermission}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
谢谢,我不知道如何使用ViewModelLocator。看起来很先进,不是吗? – 2011-03-16 22:03:08
它实际上非常简单..只是谷歌它http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=how+to+use+viewModelLocator – 2011-03-16 22:05:25
谢谢,顺便说一句,你知道为什么这是复杂的/参与?由于定位器听起来像是必须找到的东西,但我已经知道它在哪里,如果WPF有办法让我像使用单个成员数据绑定一样指定。 – 2011-03-16 22:07:27