ListView データバインディングを ObservableCollection に設定しようとしています。そして、リスト ビューの各項目の権限を確認するコンテキスト メニューを追加します。そのため、「ItemsSource を使用する前に、Items コレクションを空にする必要があります」というエラーが表示されます。しかし、ListView で ItemsSource を削除すると、データバインディングを使用できなくなります。手伝って頂けますか?http://www.mediafire.com/?r21lm8ud9q92o5kで例をダウンロードできます。
<ListView ItemsSource="{Binding}"
Height="259" HorizontalAlignment="Left" Margin="12,26,0,0" Name="listView1" VerticalAlignment="Top" Width="479">
<ListView.Items>
<ListViewItem>
<ListViewItem.ContextMenu>
<ContextMenu>
<MenuItem Header="Kiểm tra">
<MenuItem.Icon>
<Image Source="Images/CompareFiles.png" Style="{StaticResource ImageContextMenu}"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Download" Visibility="{Binding Path=Name, Converter={StaticResource MenuContext}, ConverterParameter= {x:Static ObservableCollectionProblem:EnumUserAction.Download}}">
<MenuItem.Icon>
<Image Source="Images/SyncCurrentObject.png" Style="{StaticResource ImageContextMenu}"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Upload" Visibility="{Binding Path=Actions, Converter={StaticResource MenuContext}, ConverterParameter = {x:Static ObservableCollectionProblem:EnumUserAction.Upload}}">
<MenuItem.Icon>
<Image Source="Images/upload.png" Style="{StaticResource ImageContextMenu}"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</ListViewItem.ContextMenu>
<GridView>
<GridViewColumn Width="250" DisplayMemberBinding="{Binding Path=Name}" Header="Name"></GridViewColumn>
<GridViewColumn Width="250" DisplayMemberBinding="{Binding Path=Actions, Converter={StaticResource ActionToStringConverter}}" Header="Action"></GridViewColumn>
</GridView>
</ListViewItem>
</ListView.Items>
<ListView.ContextMenu>
<ContextMenu>
<MenuItem Header="Kiểm tra">
<MenuItem.Icon>
<Image Source="Images/CompareFiles.png" Style="{StaticResource ImageContextMenu}"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Download" Visibility="{Binding Path=Name, Converter={StaticResource MenuContext}, ConverterParameter= {x:Static ObservableCollectionProblem:EnumUserAction.Download}}">
<MenuItem.Icon>
<Image Source="Images/SyncCurrentObject.png" Style="{StaticResource ImageContextMenu}"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Upload" Visibility="{Binding Path=Actions, Converter={StaticResource MenuContext}, ConverterParameter = {x:Static ObservableCollectionProblem:EnumUserAction.Upload}}">
<MenuItem.Icon>
<Image Source="Images/upload.png" Style="{StaticResource ImageContextMenu}"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</ListView.ContextMenu>
<ListView.View>
<GridView>
<GridViewColumn Width="250" DisplayMemberBinding="{Binding Path=Name}" Header="Name"></GridViewColumn>
<GridViewColumn Width="250" DisplayMemberBinding="{Binding Path=Actions, Converter={StaticResource ActionToStringConverter}}" Header="Action"></GridViewColumn>
</GridView>
</ListView.View>
</ListView>