我有一個類,如:如何綁定到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